Skip to main content
Languages

PHP .gitignore

.gitignore for languages projects

View on GitHub

.gitignore Content

# ============================================================================
# Created by https://gitignores.com/
# LANGUAGE-SPECIFIC TEMPLATE for PHP
# Website: https://www.php.net/
# Repository: https://github.com/php/php-src
# ============================================================================

# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
# TEMPLATE OVERVIEW & USAGE NOTES
# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
# • TEMPLATE TYPE: LANGUAGE-SPECIFIC TEMPLATE
# • PURPOSE: PHP development patterns for Composer dependencies, cache files, and runtime artifacts
# • DESIGN PHILOSOPHY: Modular design for combination with common templates
# • COMBINATION GUIDANCE: Combine with common templates for comprehensive coverage
# • SECURITY CONSIDERATIONS: Does not include security patterns - combine with common/security.gitignore
# • BEST PRACTICES: Combine with common/security.gitignore for protection, test with your specific build tools, review for project-specific exclusions
# • OFFICIAL SOURCES: PHP Official language documentation, package manager guides, and community best practices

# ••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
# DEPENDENCY MANAGEMENT & PACKAGE CACHE
# ••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••

.php_cs.cache
.phpstan.cache
.phpunit.cache
.phpunit.result.cache
.psalm.cache
vendor/

# ••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
# DEVELOPMENT & RUNTIME ARTIFACTS
# ••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••

!var/cache/.gitkeep
!var/logs/.gitkeep

# Symfony-specific patterns (common for PHP frameworks)
# Keep var/ directory structure but ignore cache and log contents
!var/sessions/.gitkeep
php_errors.log
var/cache/*
var/logs/*
var/sessions/*
xdebug.log

# ••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
# LANGUAGE-SPECIFIC PATTERNS
# ••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••

.pdepend/
.php-built-in-web-server.pid
.phpcbf/
.phpcpd/
.phpcs/
.phpdcd/
.phploc/
.phpmd/
.phpmetrics/
.phpstan/
.psalm/
docs/
phpdoc/
sess_*
uploads/

# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
# TEMPLATE CUSTOMIZATION & BEST PRACTICES
# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
# 1. REVIEW: Examine all patterns before use
# 2. CUSTOMIZE: Adapt to your project's specific structure
# 3. TEST: Use `git check-ignore` to verify patterns work correctly
# 4. SECURE: Always protect sensitive data and credentials
# 5. UPDATE: Review periodically as technology evolves

# For comprehensive coverage, consider combining with:
#   - Framework template if applicable (frameworks/*.gitignore)
#   - Common security patterns (common/security.gitignore) - CRITICAL for protecting sensitive data
#   - Common cache patterns (common/cache.gitignore)
#   - Common build patterns (common/build.gitignore)
#   - Common logs patterns (common/logs.gitignore)
#   - IDE template for your editor (ides/*.gitignore)
#   - OS template for your system (os/*.gitignore)

# EXAMPLE COMBINATION FOR PHP:
# cat languages/php.gitignore \
#     common/security.gitignore \
#     common/cache.gitignore \
#     common/build.gitignore \
#     common/logs.gitignore \
#     ides/visual-studio-code.gitignore \
#     os/macos.gitignore \
#     os/windows.gitignore > .gitignore

Note: This file is fetched from GitHub and cached for 7 days.