2016-09-29 11 views
0

私のApacheサーバには、いくつかのPHPスクリプトを含むフォルダがあります。このフォルダ内のすべてのPHPスクリプトは1を除いて動作します。動作しないスクリプトを含むすべてのPHPスクリプトは同じ権限を持ちます。私のスクリプトが返るのはなぜですか?HTTP ERROR 500

私は私のブラウザでスクリプトを実行すると、私はこのエラーを取得:役に立つかもしれ

HTTP ERROR 500 

詳細:

PHPバージョン7.0.11 のApache/2.2.15(CentOSの)

+0

(エラー)ログには何がありますか? –

+0

___Details役立つかもしれません:___あなたのサーバーを爆破するスクリプトのコード!!! PHPコードがひどく書かれて500エラーが発生する可能性があります – RiggsFolly

+0

多くの設定で構文エラーが発生しても、そのエラーは発生しません –

答えて

1

Apacheステータスコード500は、「内部サーバーエラー」を意味します。このエラーを生成しているコードを見ることなく、何が原因であるかを言うのは難しいですが、最初にチェックするのはサーバー構成と.htaccessファイルです。あなたのサーバが正しく動作していることを確認し、悪いルールがPHPのいくつかのタイプを誤動作させる可能性があるので、.htaccessファイルをチェックしてください。 <?php echo "test"; ?>

0

SOLUTION:私の場合は500エラーの問題は、アップグレードした@RiggsFollyが述べたように、問題のような簡単なプログラムに置き換えることによって試験することができるいくつかの非常に下手に書かれたPHPであることも可能ですPHP 5.xから7へ。しかし、このエラーが他の多くの理由から来る可能性があるので、それが適用されない場合、他の解決策を見つけることは幸運です。この場合、問題は解決しました。互換性のない部分を再コーディングするまで、コードを書き換えたり、古いPHPバージョンにダウングレードしたりすることが解決策です。

説明/デバッギングプロセス:何が起こっているのかを特定するためのいくつかのテスト(コードの部分のコメント、関数のテスト、ドキュメントの読み込み)の後、以前のバージョンのPHPで廃止された関数は500エラーを生成します。

たとえば、PHP < 7用のスクリプトでは、mysql_connectのような古いmysqlクエリが残っている可能性があります。サーバーが7に更新されたら(mysqliを使用する必要があります)、このスクリプトは500エラーをスローします。 これは、非難された他の関数に起こると思います。

あなたのケースでは、私の賭けのスクリプトのほとんどは7と互換性がありますが、そうではありません。

関連する問題