Laravel 11 要求 PHP ≥ 8.2 且必须使用 Composer 3.x 安装,需启用 mbstring、openssl、pdo、tokenizer、xml、curl 扩展,创建项目须加 --no-interaction 参数并手动执行 key:generate。

Laravel 11 要求 PHP ≥ 8.2,且必须用 Composer 3.x 安装;直接运行 composer create-project laravel/laravel 会失败,因为默认 Composer 2.x 不兼容 Laravel 11 的依赖约束。
确认 PHP 版本和扩展是否达标
Laravel 11 强制要求 ext-mbstring、ext-openssl、ext-pdo、ext-tokenizer、ext-xml、ext-curl 全部启用,缺一不可。Windows 用户尤其容易漏掉 php_mbstring.dll 或未在 php.ini 中取消注释。
- 运行
php -v确保输出版本号 ≥8.2.0 - 运行
php -m | grep -E "(mbstring|openssl|pdo|tokenizer|xml|curl)"(Linux/macOS)或php -m(Windows)逐项核对 - 若报错
Class "Mbstring" not found,说明extension=mbstring未启用,需编辑php.ini并重启服务
升级或安装 Composer 3.x
Laravel 11 使用了 Composer 3 新增的插件机制和依赖解析策略,Composer 2.5.x 及以下会卡在 Resolving dependencies... 或抛出 Your requirements could not be resolved 错误。
- 检查当前版本:
composer --version—— 若显示Composer version 2.x,必须升级 - 升级命令(全局):
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"&&php composer-setup.php --install-dir=/usr/local/bin --filename=composer(Linux/macOS) - Windows 用户建议下载 官方 Composer-Setup.exe,它默认安装 Composer 3.x
- 验证:
composer --version应输出类似Composer version 3.0.3
创建 Laravel 11 项目并跳过交互式配置
执行 composer create-project laravel/laravel 时,Composer 3 默认启用 --interactive,而 Laravel 11 的初始化脚本依赖环境变量自动判断,交互模式会导致 .env 生成异常或 APP_KEY 为空。
- 正确命令:
composer create-project laravel/laravel blog --no-interaction -
--no-interaction是关键,否则可能卡在 “Would you like to install Laravel Breeze?” 提示 - 项目创建后立刻进入目录并生成密钥:
cd blog && php artisan key:generate(Laravel 11 不再自动执行此步) - 启动开发服务器:
php artisan serve—— 默认监听http://127.0.0.1:8000,无需额外配置 Apache/Nginx
cd blog php artisan key:generate php artisan serve
Laravel 11 的 artisan serve 内置服务器已基于 Symfony’s server:run 重构,不支持 --host 绑定到 0.0.0.0(会报错 Invalid host),如需局域网访问,得改用 php -S 手动启动或配 Nginx。










