-2

php 5 を実行する centos 7 と 2 つの仮想ホストがあります。

1 つの vhost は完全に機能し、php を期待どおりにレンダリングし、すべてが機能しています。他の仮想ホストはそうではありません。

問題は、ファイルが .php ではなく html であるにもかかわらず、そのうちの 1 つで php コードがコメントアウトされていることです。

両方とも、最初に作成したときにすべてをコピーして貼り付けたのと同じ構成になっています。

<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 コードにコメントする vhost に 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 を持つ 1 つの仮想ホストにありました。ssl.conf 内の仮想ホストに問題がある可能性があります。

于 2018-07-02T16:44:11.737 に答える