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 的依赖约束。
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 并重启服务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)composer --version 应输出类似 Composer version 3.0.3
执行 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/Nginxcd 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。
# php
# macos
# http
# https
# 重构
# 报错
# 卡在
# 不支持
# 如需
# 重启
# 绑定
# 抛出
# 跳过
# 为空
# copy
# class
# linux
# laravel
# composer
# windows
# apache
# nginx
# app
# ssl
# mac
# symfony
# xml
# cURL
# pdo
# 或未