Laravel在phpEnv中需手动配置:①用Composer创建项目并设网站根目录为public;②重写Nginx location /规则为try_files;③在location ~ .php$中补全SCRIPT_FILENAME等三个fastcgi_param;④运行php artisan key:generate并确保APP_URL匹配访问域名。

Laravel 在 phpEnv 中不能直接“一键安装”,必须手动创建项目 + 手动配置 Nginx 和 PHP-FPM,否则访问会 404、白屏或提示 “No input file specified”。核心就四件事:改网站根目录、写对伪静态规则、补全 PHP 参数、配好 .env。
先用 Composer 创建 Laravel 项目
打开命令行,进入 phpEnv 的 www 目录(如 D:\phpenv\www),执行:
- composer create-project laravel/laravel myapp(myapp 是你的项目名)
- 等待下载完成,确认生成了 myapp/public/index.php 和 myapp/artisan
- 别急着访问——此时站点还没指向 public,直接访问会出错
把网站根目录改成 public 子目录
这是最关键的一步。phpEnv 默认把站点 root 指向项目根目录(D:\phpenv\www\myapp),但 Laravel 入口必须是 public 目录。
- 打开 phpEnv 控制面板 → 网站管理 → 找到你的站点 → 点击“设置”
- 在“网站目录”中,把路径从 D:\phpenv\www\myapp 改为 D:\phpenv\www\myapp\public
- 点击“保存”,再点“重载 Nginx”(不需重启整个服务)
- 验证:访问 http://localhost 应显示 Laravel 欢迎页;若仍报错,说明 root 没改对
手写 Nginx 伪静态规则(不能套模板)
phpEnv 不支持 Laravel 专用伪静态模板,也不能用 rewrite 规则——它会导致 Laravel 10 路由初始化失败。
立即学习“PHP免费学习笔记(深入)”;
- 进入该站点的“配置文件” → 切换到 nginx.conf 标签页
- 找到 location / { } 块,替换为:
try_files $uri $uri/ /index.php?$query_string;
}
- 确保这段代码在 location ~ \.php$ 块之前(Nginx 匹配顺序很重要)
- 删掉所有旧的 if 或 rewrite 规则,它们和 try_files 冲突
- 保存后再次点击“重载 Nginx”
补全 PHP-FPM 关键参数(否则路由白屏)
phpEnv 默认配置缺少 SCRIPT_FILENAME 的真实路径解析,Laravel 10 会因 RouteServiceProvider 初始化失败而空白。
- 仍在 nginx.conf 中,找到 location ~ \.php$ 块
- 在 include fastcgi_params; 后面追加三行:
fastcgi_param DOCUMENT_ROOT $realpath_root;
fastcgi_param PATH_INFO $fastcgi_path_info;
- 保存 → 重载 Nginx
- 再运行 php artisan key:generate(进项目根目录执行),并确认 .env 中 APP_URL=http://localhost(必须与实际访问域名完全一致)


















