laravel 6 项目需用 composer create-project laravel/laravel myproject "6.*" 创建,且必须使用 php 7.2.9–7.4.x、启用 mbstring/pdo/openssl 等扩展,并执行 cp .env.example .env、php artisan key:generate、chmod -r 775 storage bootstrap/cache。

laravel new 在 macOS 上对 Laravel 6 已不适用,因为 Laravel 安装器默认拉取的是最新稳定版(当前为 Laravel 11),而 Laravel 6 要求 PHP ≥7.2.9 且已停止维护,必须显式指定版本号。
composer create-project 必须带版本约束
Laravel 6 的最后正式发布版本是 6.20.46,但实际创建时用 "6.*" 就够了——它会命中最后一个安全更新版本,且避免意外匹配到非 LTS 分支。
- 不要用
laravel new myproject:该命令底层调用composer create-project但不传版本参数,默认拉 Laravel 11+ - 正确命令是:
composer create-project laravel/laravel myproject "6.*"
- 如果提示
Could not find package laravel/laravel with version 6.*,说明你的 Composer 镜像源没同步旧包,先执行:composer config -g repo.packagist composer https://packagist.org
(国内用户此时应**临时切回官方源**,因部分镜像会裁剪历史版本)
PHP 和扩展必须严格匹配 Laravel 6 要求
Laravel 6 不支持 PHP 8.0+,在 macOS 上容易因 Homebrew 默认装 PHP 8.2/8.3 导致 composer create-project 直接失败,错误信息模糊,常表现为:
Your requirements could not be resolved- 或静默退出,
myproject目录为空
验证方式:
php -v必须显示
PHP 7.2.9 到 7.4.x 之间的版本。
若已装高版本 PHP:
- 用
brew install php@7.4 - 然后
brew unlink php && brew link --force php@7.4 - 检查
which php输出路径是否含php@7.4
还需确认启用以下扩展(缺一不可):
mbstringopensslpdotokenizerxmlctypejsonbcmath
用 php -m | grep -E "(mbstring|pdo|openssl)" 快速筛查。
初始化后立刻要做的三件事
新项目目录生成后不能直接 php artisan serve,否则大概率报错:
RuntimeException: No application encryption key has been specified- 或
Class 'PDO' not found(即使上一步检查过,也可能是 CLI 与 Web 使用不同 php.ini)
必须依次执行:
cp .env.example .env-
php artisan key:generate(这步生成APP_KEY,否则 session、加密全部失效) -
chmod -R 775 storage bootstrap/cache(macOS 上 Apache/PHP 内置服务器常因权限拒绝写日志和缓存)
如果 php artisan serve 提示端口被占,别硬改端口,先用 lsof -i :8000 查进程并 kill -9 干掉,避免后续调试混淆。
Laravel 6 是最后一个支持 PHP 7.x 的 LTS 版本,现在新建项目极不推荐。但如果必须维护老系统,记住:版本锁定、PHP 降级、扩展全开、权限手动补 —— 四者缺一不可,漏掉任意一个,artisan 命令都会在不同阶段突然中断。











