在Apache服务器上部署ThinkPHP6项目,无需php think run命令
ThinkPHP6官方文档建议使用php think run命令启动服务,但这在某些环境下(例如缺乏SSH权限的Cpanel环境)不可行。本文介绍如何在Apache服务器上部署ThinkPHP6项目,并解决Cpanel上传后常见的“无访问权限”错误。
问题:Cpanel上传后访问权限受限
将ThinkPHP6项目上传到Cpanel后,访问网站时出现“无访问权限”错误。
环境:
- Ubuntu 14
- Apache2
- ThinkPHP 6
解决方案:
-
正确配置Apache虚拟主机: 关键在于DocumentRoot的设置。不要指向/var/www/public/public,而应指向项目的public目录,即/var/www/public。 确保虚拟主机配置中AllowOverride设置为All或None,并设置Require all granted来允许所有用户访问。
-
启用Apache的mod_rewrite模块 (可选,但推荐): ThinkPHP6通常依赖于URL重写。如果需要使用伪静态,则必须安装并启用Apache的mod_rewrite模块。
-
添加.htaccess文件或虚拟主机配置中的Rewrite规则: 在项目的public目录下创建一个.htaccess文件(如果Apache允许),或者直接在虚拟主机配置文件中添加以下代码实现URL重写:
RewriteEngine On RewriteBase / RewriteRule ^(.*)$ index.php/$1 [L]
最终效果:
通过以上步骤,正确配置Apache虚拟主机后,即可通过浏览器直接访问ThinkPHP6项目,无需使用php think run命令。