phpEnv 不支持 Laravel 11,因其最高仅兼容 PHP 7.4 和 Laravel 6/7,而 Laravel 11 要求 PHP ≥ 8.2 并依赖 mbstring、json 等强制扩展,且 phpEnv 已停止维护、无法升级。

phpEnv 不支持 Laravel 11 —— 它已停止维护,且最高仅兼容 PHP 7.4 和 Laravel 6/7。 直接在 phpEnv 上跑 Laravel 11 会卡在 Composer 安装、artisan 命令报错、或启动即 500(因缺少 mbstring、json、ctype 等 PHP 8.2+ 强制扩展),这不是配置问题,而是底层环境不匹配。
为什么 phpEnv 无法运行 Laravel 11
Laravel 11 要求 PHP ≥ 8.2,并依赖现代扩展(如 openssl、xml、zip)和函数(如 str_starts_with())。phpEnv 最后更新是 2020 年,内置 PHP 版本固定为 5.6 / 7.0 / 7.2 / 7.4,且无法通过界面安装新扩展或切换 SAPI 模式。
- 运行
php -v得到的一定是 ≤7.4 的版本,php -m中查不到mbstring或opcache(即使勾选了,CLI 模式也不生效) -
composer create-project laravel/laravel:^11会直接失败:提示 “Your requirements could not be resolved” - 强行拷贝代码进去,访问时
Whoops! Error: Class 'Illuminate\Foundation\Application' not found—— 自动加载器因 PHP 版本不兼容失效
替代方案:用 Docker 快速起一个真实 Laravel 11 环境
不用折腾 phpEnv,本地开发推荐用官方 laravel/sail(基于 Docker),5 分钟内可跑通:
- 确保已安装 Docker Desktop(macOS/Windows)或
docker-ce+docker-compose(Linux) - 执行:
curl -s https://laravel.build/example-app | bash(会自动拉取 PHP 8.3 + Nginx + MySQL 镜像) - 进项目目录:
cd example-app && ./vendor/bin/sail up -d - 访问
http://localhost,看到 Laravel 11 欢迎页即成功
它默认启用伪静态:location / { try_files $uri $uri/ /index.php?$query_string; } 已写死在 Nginx 配置中,无需手动改。
立即学习“PHP免费学习笔记(深入)”;
如果非得用 Windows 本地环境:WAMP/XAMPP 替代 phpEnv
WAMP 3.3.0+(含 PHP 8.2)或 XAMPP 8.2+ 可满足 Laravel 11 基础运行条件,但要注意:
- 必须手动开启
php_mbstring、php_openssl、php_xml、php_pdo_mysql扩展(在php.ini中取消注释) - Apache 需启用
rewrite_module(WAMP 点托盘图标 → Apache → Modules → 勾选rewrite_module) -
.htaccess文件必须放在public/目录下,且内容为 Laravel 官方默认(不能删RewriteBase /行,否则子目录部署会出错) - 别设项目根目录为
DocumentRoot,必须指向your-project/public
真正卡住人的从来不是“怎么写伪静态规则”,而是底层 PHP 版本和扩展没对齐。Laravel 11 的 index.php 第一行就写了 if (! defined('LARAVEL_START')) { die('Direct access not allowed.'); } —— 这行在 phpEnv 的 PHP 7.4 下根本不会执行,因为解析器先报错了。



















