-2

我有运行 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"; ?-->

当我在浏览器中查看页面源时。

4

1 回答 1

1

我不知道怎么做,但是将此行添加到 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 中的虚拟主机上。

于 2018-07-02T16:44:11.737 回答