Laravel项目创建失败主因是PHP版本或扩展缺失,非命令本身问题;需确认PHP≥8.2(L11)或≥8.1(L10),并启用mbstring、openssl、pdo、tokenizer、xml扩展,再用--prefer-dist和精确版本号安装,最后验证artisan serve、.env及app()->version()。

直接用 composer create-project laravel/laravel 就能拉下来,但多数人卡在 PHP 版本、扩展缺失或权限报错上,不是命令本身的问题。
PHP 版本和必需扩展必须提前确认
Laravel 11 要求 PHP ≥ 8.2,Laravel 10 要求 ≥ 8.1 —— 用 php -v 看不准,得看 php -m 和 php --ini 确认实际加载的配置。常见翻车点:
-
mbstring、openssl、pdo、tokenizer、xml这五个扩展缺一个,create-project就会中断并报Class 'Mbstring' not found或类似错误 - Mac 用户用 Homebrew 装的 PHP,常因
php.ini路径不对导致扩展没加载;Linux 用户用 apt 安装后得手动sudo phpenmod mbstring - Windows 上 XAMPP/WAMP 自带的 PHP 可能版本太低,别直接信控制面板显示的“PHP 版本”,终端里跑
where php和php -v才算数
composer create-project 的关键参数和路径陷阱
默认命令是 composer create-project laravel/laravel my-project,但实际开发中建议加 --prefer-dist(跳过 git 克隆,下 zip 包更快),并显式指定 Laravel 版本避免拉到不稳定预发布版:
- 要 Laravel 11:用
composer create-project laravel/laravel:^11.0 my-project --prefer-dist - 要 Laravel 10 LTS:用
composer create-project laravel/laravel:^10.0 my-project --prefer-dist - 项目名不能含大写字母或空格,否则后续 artisan 命令可能出路径解析异常;推荐全小写 + 中划线,比如
my-api-backend - 如果当前目录权限受限(如 Linux 下在
/var/www),别硬 sudo 执行 composer,先cd到用户有写权限的目录再运行
安装完成后必须立刻验证的三件事
别急着写代码,先确保基础环境真能跑起来:
- 进项目目录执行
php artisan serve,看到Starting Laravel development server并能在浏览器打开http://127.0.0.1:8000显示 Laravel 欢迎页才算通过 - 检查
.env文件是否已生成,且APP_KEY不是SomeRandomString—— 如果是,说明php artisan key:generate没自动执行成功,需手动补 - 运行
php artisan tinker,输入app()->version()回车,能返回正确版本号才代表容器和核心服务加载正常;若报Class 'PDO' not found,说明 PDO 扩展仍没启用
真正卡住人的从来不是“怎么装”,而是 PHP 底层模块是否就位、.env 是否被覆盖、以及 artisan 启动时读的是哪个 php.ini —— 这些细节不查日志、不看实际输出,光重装 Composer 没用。



















