.gitignore for PHP + Symfony

.gitignore for Symfony PHP applications covering vendor, cache, and environment files.

Quick presets

Selected (2)
PHPSymfony
Your selections never leave your browser. Generation happens entirely client-side.
Raw

19 patterns · 435 B

# Generated by DevZone Tools — https://devzone.tools/tools/gitignore-generator
# Templates: PHP, Symfony
# 2026-04-20

# ---- PHP ----
# PHP
/vendor/
.env
.env.backup
.env.production
Homestead.json
Homestead.yaml
auth.json
npm-debug.log
yarn-error.log
.phpunit.result.cache
.php-cs-fixer.cache
.php_cs.cache

# ---- Symfony ----
# Symfony
/.env.local
/.env.local.php
/.env.*.local
/var/
/public/bundles/
/public/build/
node_modules/

Why use PHP + Symfony together?

Symfony's var/ directory contains application cache and logs. Unlike Laravel's storage/, Symfony's cache is entirely regenerated by cache:clear and should never be committed. The vendor/ directory holds all Composer packages.

Symfony uses a layered .env approach: commit .env with safe defaults, ignore .env.local with machine-specific overrides.

Related combinations

Frequently asked questions

Do I need to commit .gitignore?
Yes — .gitignore should be committed to the repository so all collaborators benefit from the same ignore rules.
How do I add custom patterns?
Open your .gitignore file and add the pattern on a new line. Use # for comments, * for wildcards, / to match directories, and ! to un-ignore a previously ignored path.
How do I ignore a file that is already tracked?
Adding a file to .gitignore does not remove it from tracking if it was previously committed. Run: git rm --cached <file> to stop tracking it without deleting the file locally.
Why combine PHP and Symfony?
Symfony's var/ directory contains application cache and logs. Unlike Laravel's storage/, Symfony's cache is entirely regenerated by cache:clear and should never be committed. The vendor/ directory holds all Composer packages.

Looking for something else? Browse all templates →