100

OS およびサーバー情報:

  • CentOS 6.4 (最終版)
  • アパッチ 2.2.15
  • PHP 5.5.1

以前に php 5.3.x をインストールしていましたが、アップグレードすることにしました。最初にphp 5.3.xをアンインストールしてからphp 5.5.1をインストールしましたが、インストールが完了した後、Apacheはphpファイルを解析せず、ダウンロードしただけです。ここでスタックオーバーフローで同様の質問を確認しましたが、これまでのところどれも役に立ちませんでした。

記録のために、私は httpd.conf と php.conf に次の行を持っています。

AddHandler application/x-httpd-php .php5 .php4 .php .php3 .php2 .phtml
AddType application/x-httpd-php .php5 .php4 .php .php3 .php2 .phtml
AddType application/x-httpd-php-source .phps
AddHandler php5-script .php

助けていただければ幸いです。ありがとうございました。

編集:

php.confにこれらの行があります

<IfModule !worker.c>
  LoadModule php5_module modules/libphp5.so
</IfModule>
<IfModule worker.c>
  LoadModule php5_module modules/libphp5-zts.so
</IfModule>

編集:

を取り除くことで、

AddType application/x-httpd-php .php5 .php4 .php .php3 .php2 .phtml

apache はファイルをダウンロードしなくなりました。現在、apache はソース コードを表示していますが、すべてではありません。追加した

AddType text/html .php

しかし運がない。

4

26 に答える 26

25

今日この問題に遭遇しましたが、説明されている解決策はどれもうまくいきませんでした。したがって、別の考えられる原因は次のとおりです。

次のようなものがある場合

AddHandler x-mapp-php6 .php3 .php4 .php .phtml

Web コンテンツ フォルダーの.htaccessファイルで、PHP スクリプトが動作しなくなる可能性があります。私の場合、そのファイルは Web サイトのコンテンツを転送したときに別の Web ホストからインポートしたものだったため、サーバーはx-mapp-php6タイプを認識していませんでした。.htaccess

ファイルAddHandlerから行を削除するだけで解決しました。.htaccess

于 2014-04-11T22:52:31.857 に答える
16

多くの苦労の後、私は最終的に問題を解決しました。

ファイルを実行するのではなくダウンロードするように求められた場合は.php、ここに完璧な解決策があります: PHP5 を既にインストールしていて、まだこのエラーが発生していると仮定します。

$ sudo su
$ a2enmod php5

これです。

しかし、それでもエラーが発生する場合:

Config file php5.conf not properly enabled: /etc/apache2/mods-enabled/php5.conf is a real file, not touching it

次に、次の操作を行います。

ファイルは に保存するmods-enabledのではなく、に保存する必要があることが判明しましたmods-available。次に、mods-available に保存されているファイルを指すシンボリック リンクを mods-enabled に作成する必要があります。

最初にオリジナルを削除します。

$ mv /etc/apache2/mods-enabled/php5.conf /etc/apache2/mods-available/

次に、シンボリック リンクを作成します。

$ ln -s /etc/apache2/mods-available/php5.conf /etc/apache2/mods-enabled/php5.conf

問題が解決することを願っています。

于 2014-02-01T11:02:19.887 に答える
6

あなたの .htaccess に次のようなものがある 場合 ...

于 2014-06-10T09:26:37.863 に答える
5

これは、php に必要なモジュールが不足しているために発生している可能性があります。php7がインストールされていると仮定して、使用可能なphp7モジュールを検索します

sudo apt-cache search php7-*

上記のコマンドは、インストール可能なすべての PHP7 モジュールを一覧表示します。次のようなモジュールのインストールを開始できます。

sudo apt-get install libapache2-mod-php7.0 php7.0-mysql php7.0-curl php7.0-json
于 2016-09-06T13:31:36.010 に答える
3

私も同じ問題を抱えてる。Apache は特定の Web サイトから php ファイルをロードせず、ダウンロードしただけです。この投稿と回答を読んだところ、次の行が .htaccess ファイルの最後の場所にあることがわかりました。

AddHandler x-mapp-php5.5  .php

私はそれをコメントし、すべてが正常に動作します。

ありがとうございます !!!

于 2015-05-29T10:50:52.327 に答える
2

5.3 から 5.4 にアップグレードした後、以前にも同様の問題がありました。しかし、私のセットアップは、PHP5 apache/cgi モジュールではなく、Debian を実行し、fcgid を使用して PHP ページをサーバー化しているため、少し異なっているように見えます。そのため、アップグレードした後、fcgid セットアップと競合する php5_cgi もインストールされ、PHP ファイルが実行されなくなりました。

Apache モジュールを無効にして、Apache を再起動する必要がありました

a2dismod php5_cgi
/etc/init.d/apache2 restart

php5_cgi モジュールが取り除かれると、fcgid は再び PHP ページを提供できるようになりました。

于 2014-01-14T10:47:59.113 に答える
2

Linux環境でphp7を使用している場合

php7が有効になっていることを確認してください

sudo a2enmod php7

mysql サービスと Apache を再起動します。

sudo systemctl restart mysql
sudo systemctl restart apache2
于 2018-03-26T08:00:03.717 に答える
1

これを 2 日間追跡したところ、PHP スクリプトを間違ったディレクトリに配置していたことがわかりました。

私の標準的な Ubuntu インストールでは、スクリプトを に入れていました/var/www。彼らは中にいるべきだった/var/www/html

PHP の作業を始めたばかりなので、私の解決策があなたが経験したバージョンの変更に関連しているかどうかはわかりません。

于 2015-03-08T01:26:00.107 に答える
1

これで問題は解決しました(php7がインストールされています):

sudo apt-get インストール libapache2-mod-php7.0

sudo サービス apache2 再起動

于 2016-05-09T21:00:49.663 に答える
1

nginx が実行されている可能性もありますが、php は apache で実行するように設定されています。検証、実行service nginx statusして、実行中のものを確認service apache2 statusします。nginx が実行されていて apache が実行されていない場合は、実行するだけでsudo service nginx stop; sudo service apache2 start、サーバーが期待どおりに php ファイルを提供するようになります。

于 2018-06-29T07:11:59.967 に答える
1

virtualmin がある場合は、/etc/apache2/sites-available の apache 構成でこれらの行をコメントアウトしてみてください

  #RemoveHandler .php
  #RemoveHandler .php7.0
  #php_admin_value engine Off
于 2019-01-11T12:20:50.990 に答える