Languages
PHP .gitignore
.gitignore for languages projects
.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