You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

新安装Apache2及虚拟主机后CGI目录PHP文件显示纯文本求助

问题排查与解决方案

1. 核心路径匹配错误

你虚拟主机中配置的PHP5.6规则是针对<Directory "/var/www/pt/pt_v1">,但实际访问的是dev.jts.co.uk/jts/jts_v1/phpinfo.php,对应服务器路径是/var/www/jts/jts_v1——这直接导致你设置的CGI规则完全没生效,目标目录下的PHP文件只能按默认方式处理(纯文本显示或被下载)。

解决:将虚拟主机中的<Directory "/var/www/pt/pt_v1">块修改为<Directory "/var/www/jts/jts_v1">,或者调整访问路径到/pt/pt_v1下。


2. 路径纠正后的额外排查点

如果修正路径后问题仍存在,按以下步骤逐一验证:

(1)确认CGI程序的访问权限

虽然你能通过命令行执行php-cgi5.6,但要确保Apache运行用户(通常是www-data)对该文件有读和执行权限:

sudo chown www-data:www-data /var/www/cgi-bin/php-cgi5.6
sudo chmod 755 /var/www/cgi-bin/php-cgi5.6

(2)强制禁用mod_php7.4接管

在目标目录的<Directory>块中添加以下规则,确保mod_php不会干扰CGI的处理:

<FilesMatch "\.php$">
    SetHandler None
    SetHandler default-handler
</FilesMatch>

(3)查看Apache错误日志定位细节

实时监控错误日志,获取访问PHP文件时的具体报错:

sudo tail -f /var/log/apache2/error.log

日志会明确提示是否存在CGI程序找不到、权限不足或配置冲突等问题。

(4)重载Apache使配置生效

每次修改虚拟主机配置后,必须执行重载:

sudo systemctl reload apache2

内容的提问来源于stack exchange,提问作者BadAddy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 13:22:51