90%的新项目创建失败源于本地PHP环境或Composer配置问题:PHP必需扩展(ctype、filter、hash、mbstring、openssl、session、tokenizer)缺失导致laravel new报错;Composer需切国内镜像并调高超时阈值;.env未生成或APP_KEY缺失需手动复制并执行php artisan key:generate,同时确保storage和bootstrap/cache目录可写。

直接结论:90%的新项目创建失败,不是 Laravel 本身的问题,而是本地 PHP 环境或 Composer 配置没到位。
PHP 扩展缺失导致 laravel new 报错
运行 laravel new my-project 时提示 “The following PHP extensions are required but are not installed”,说明 Laravel Installer 启动前就卡在环境检查环节。
- 必须启用的扩展包括:
ctype、filter、hash、mbstring、openssl、session、tokenizer—— 少一个都不行 - Ubuntu/Debian 下补全命令:
sudo apt-get install php-ctype php-filter php-hash php-mbstring php-openssl php-session php-tokenizer - Mac(Homebrew)用户注意:
php@8.3或php@8.4默认不带全部扩展,需手动启用:brew services restart php@8.3后检查php -m | grep -E "(mbstring|openssl)" - Windows 用户请确认
php.ini中对应extension=行未被注释,且路径正确(如extension_dir = "ext")
Composer 安装超时或连接失败
卡在 Installing dependencies from lock file 或长时间无响应,本质是网络或镜像配置问题。
- 国内用户务必先切镜像:
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ - 同时调高超时阈值:
composer config -g process-timeout 600(单位秒) - 若仍失败,绕过 Installer 直接用
composer create-project laravel/laravel my-project --prefer-dist,它不依赖全局laravel命令,成功率更高 - 代理用户注意:
composer config -g http-proxy http://127.0.0.1:7890(根据实际端口调整),否则会静默失败
.env 未生成或 APP_KEY 缺失导致后续报错
项目目录看似创建成功,但访问首页报 RuntimeException: No application encryption key has been specified,说明 .env 文件根本没写入或 APP_KEY 没生成。
- 检查项目根目录是否存在
.env文件;若没有,立刻执行:cp .env.example .env(Linux/macOS)或copy .env.example .env(Windows) - 再运行:
php artisan key:generate—— 注意:此命令必须在项目目录内执行,且要求php可执行、storage目录可写 - 常见坑:
storage权限不足(尤其 Docker 或 WSL 环境),运行:chmod -R 755 storage bootstrap/cache - 验证是否生效:打开
.env,确认存在形如APP_KEY=base64:...的行
最易被忽略的是权限链路:PHP 进程用户(如 www-data 或当前 shell 用户)必须对 storage 和 bootstrap/cache 有写权限,否则 key:generate 表面成功,实际没写入文件。Docker 环境下更要确认 volume 挂载路径和 UID 匹配。


















