別のコンピュータから .gz ファイルをダウンロードし、それを Linux PC に転送し、tar、./configure、make、make install プロセスを実行して PHP をインストールしようとしました。
しかし、どこかで失敗してしまいました。
問題:
PHP ページをロードすると、適切な Web サイトではなく、PHP コードが表示されます。これを機能させるためにいろいろ試し、質問もしましたが、今のところうまくいきません。コマンド ラインでは機能するのに、ブラウザーでは表示されないのは不思議です。
PHP が動作したのは、yum を使用して取得したときだけです。もう一度試してみたいと思います。
ただし、PHP がすでにシステムにインストールされている場合に yum install php を実行した場合の結果はわかりません。
私が試したこと:
「PHP コードの表示」問題を修正するための私の試みは長いリストですが、要約すると次のようになります。
- PHP を再インストールしました (make を使用、今削除したいのと同じインストール)
- httpd.conf を設定します - 結果はさまざまです。何らかの理由で、httpd.conf ファイルを変更すると Apache が完全に壊れます。
既存の PHP を削除することに関する私の問題点は次のとおりです。
- 私はphpファイルを抽出したディレクトリに移動して、と入力してみました
make uninstall
が、返されるのはNo rule to make target 'uninstall'. Stop.
システム:
- フェドラ 19 x86_64
- オラクル 11g
- アパッチ2.4.6
誰かが助けてくれることを願っています。助けてくれる人には事前に感謝します。この問題はあまりにも長い間続いています。
答え1
私の意見では、これは Apache の問題のようです。httpd.com ファイルに PHP をロードしていますか? 次の構成が存在することをお勧めします。
LoadModule php5_module modules/libphp5.so
<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch "\.ph(p[2-6]?|tml)$">
SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch "\.phps$">
SetHandler application/x-httpd-php-source
</FilesMatch>
RewriteEngine On
RewriteRule (.*\.php)s$ $1 [H=application/x-httpd-php-source]
その後、Apache を再起動してください。お役に立てば幸いです。
答え2
PHP インタープリタがコマンド ラインで動作しているという事実は、それが動作していることを示しています。ブラウザが Web サイトを表示する代わりにファイルをダウンロードしようとする場合、これは Apache の設定が誤っており、コンテンツ ネゴシエーションがブラウザに送信しようとしているコンテンツの種類を通知できないためです。私の考えでは、Apache が PHP コードを解釈できることを知らせるために、httpd.conf にハンドラを設定する必要があります。ただし、この設定に苦労している場合は、パッケージ マネージャを使用して PHP をインストールすることを強くお勧めします。
最初のインストールを必ず削除してください
make uninstall (Make ファイルにこのターゲットがある場合)、または可能であればプレフィックス フォルダーを削除します。