我有运行 php 5 的 centos 7 和两个虚拟主机。
一个虚拟主机完美运行,按预期呈现 php,一切正常。另一个虚拟主机不是。
问题是其中一个文件中的 php 代码被注释掉了,尽管该文件是 .php 而不是 html。
两者都具有相同的配置,因为我在第一次创建它们时复制/粘贴了所有内容,这里是:
<Directory "/var/www/html/XX/public_html/">
DirectoryIndex index.html index.php
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
<FilesMatch ".+\.ph(p[345]?|t|tml)$">
SetHandler None
</FilesMatch>
<IfModule mod_suphp.c>
suPHP_Engine on
<FilesMatch "\.php[345]?$">
SetHandler x-httpd-suphp
</FilesMatch>
suPHP_AddHandler x-httpd-suphp
</IfModule>
我检查了 SELINUX,它被禁用了。
唯一不同的是评论php代码的虚拟主机安装了SSL证书。
如果您需要更多信息来解决这个问题,请告诉我。
提前致谢。
编辑:
注释掉,我的意思是:
<?php echo "something"; ?>
变成:
<--!?php echo "something"; ?-->
当我在浏览器中查看页面源时。
我不知道如何,但是将这一行添加到 php.conf(对于你来说可能是 httpd.conf),解决了这个问题:
suPHP_Engine on
<FilesMatch ".+\.ph(p[345]?|t|tml)$">
suPHP_AddHandler x-httpd-suphp
SetHandler x-httpd-suphp
</FilesMatch>
正如我所说,问题出在一个具有 SSL 的虚拟主机上。也许问题出在 ssl.conf 中的虚拟主机上。
我是一名优秀的程序员,十分优秀!