phpEnv是一款功能全面的PHP集成开发环境,支持快速搭建本地服务器,很多开发者会用它来部署Laravel项目。要在phpEnv中成功部署Laravel项目并配置好伪静态规则,需要按照规范步骤操作,避免出现路由无法访问的问题。

部署前的环境准备
首先打开phpEnv,确认已经安装了符合Laravel版本要求的PHP版本,比如Laravel 10需要PHP 8.1及以上版本,同时需要开启fileinfo、mbstring、openssl等常用扩展。然后确认已经安装了Composer,并且版本不低于2.0,因为Laravel项目依赖Composer管理第三方包。
Laravel项目部署步骤
1. 导入或创建项目
如果是已有项目,直接将项目文件夹放到phpEnv的网站根目录,默认路径是phpEnv安装目录下的www文件夹。如果是新项目,可以打开phpEnv的终端工具,切换到www目录执行以下命令创建项目:
composer create-project laravel/laravel example-app
2. 配置网站站点
打开phpEnv的网站管理功能,点击添加站点,填写站点域名,比如laravel.test,然后将网站目录指向Laravel项目的public文件夹,这是Laravel的入口目录,不能直接指向项目根目录。同时选择对应的PHP版本,保存配置后重启phpEnv的Nginx或Apache服务。
3. 配置环境变量
进入Laravel项目根目录,复制.env.example文件并重命名为.env,然后执行以下命令生成应用密钥:
php artisan key:generate
如果需要连接数据库,修改.env文件中的数据库配置项,确保和phpEnv中数据库的配置一致。
伪静态规则设置方法
Laravel的路由依赖伪静态规则将请求转发到入口文件index.php,不同服务器的伪静态配置方式不同,phpEnv默认支持Nginx和Apache两种服务器,下面是两种服务器的配置方法。
Nginx伪静态配置
在phpEnv的网站管理中找到对应站点,点击编辑,在Nginx配置规则的自定义区域添加以下规则:
location / {
try_files $uri $uri/ /index.php?$query_string;
}
保存后重启Nginx服务,伪静态规则就会生效。
Apache伪静态配置
首先确认phpEnv的Apache已经开启了mod_rewrite模块,然后在Laravel项目的public目录下检查是否存在.htaccess文件,如果不存在可以新建该文件,添加以下内容:
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews -Indexes
</IfModule>
RewriteEngine On
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
如果项目根目录也有.htaccess文件,同样需要添加对应的转发规则,确保请求能正确到达public目录的入口文件。
常见问题排查
如果部署后访问页面出现404错误,首先检查站点目录是否指向了public文件夹,然后检查伪静态规则是否配置正确。如果提示缺少扩展,打开phpEnv的PHP扩展管理页面,开启对应的扩展后重启服务即可。如果数据库连接失败,检查.env文件中的数据库配置和phpEnv的数据库配置是否一致,同时确保数据库服务已经启动。