.gitignore for Laravel + PHP

Complete .gitignore for Laravel PHP applications.

Quick presets

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

18 patterns · 444 B

# Generated by DevZone Tools — https://devzone.tools/tools/gitignore-generator
# Templates: PHP, Laravel
# 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

# ---- Laravel ----
# Laravel
node_modules/
/public/hot
/public/storage
/storage/*.key
/bootstrap/cache/*
!/bootstrap/cache/.gitkeep

Why use Laravel + PHP together?

Laravel includes its own default .gitignore but it is minimal. This combination gives comprehensive coverage: PHP Composer vendor/, Laravel-specific .env secrets and storage keys, bootstrap/cache/, PHPUnit result caches, and PHP-CS-Fixer caches.

Never commit .env in a Laravel project. Use .env.example to document required variables and deploy actual values via CI secrets or a secrets manager.

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 Laravel and PHP?
Laravel includes its own default .gitignore but it is minimal. This combination gives comprehensive coverage: PHP Composer vendor/, Laravel-specific .env secrets and storage keys, bootstrap/cache/, PHPUnit result caches, and PHP-CS-Fixer caches.

Looking for something else? Browse all templates →