81

私のサイトには 4 ~ 5 個の静的ページしかありません。index.htmlindex.phpの両方があります。index.html は正常に動作しています。index.php に変更すると、500 Internal Server Error. どこが間違っているのかわからない?

注:で.htaccessファイル を使用するとphp_flag display_errors 1

映ってるAdditionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request.

で.htaccessファイルを使用するとempty

映ってるAdditionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

を与える../contact-us.phpと、正しく表示されます。

ありがとう...

4

6 に答える 6

162

500 Internal Server Error は、php コードに致命的なエラーがあり、エラー表示がオフになっている場合に表示されます。500 エラー ページの代わりにエラー自体を表示するには、次の手順を試してください。

あなたのphpファイルで:

ini_set('display_errors', 1);

.htaccess ファイル内:

php_flag display_errors 1
于 2013-07-17T07:14:06.883 に答える
87

PHP ファイルのアクセス許可は 644 に設定する必要があります。PHP ファイルを含むフォルダーと PHP アクセス (ファイルのアップロードなど) には、アクセス許可を 755 に設定する必要があります。アクセス許可が設定されているファイルまたはフォルダーを処理すると、PHP は 500 エラーを実行します。 777に!

于 2015-12-16T03:10:40.030 に答える
3

MySQL に接続しようとしていたため、この問題が発生していましたが、必要なパッケージがありませんでした。エラーログを確認する@Amadanのコメントのおかげで、私はそれを理解しました。私の場合、次のエラーが発生しました。Call to undefined function mysql_connect()

PHP ファイルに My-SQL データベースに接続するためのコードが含まれている場合は、php5-mysql最初にインストールする必要があります。インストールしていないため、このエラーが発生していました。私のファイルのアクセス許可はすべて良好でした。Ubuntu では、次のコマンドでインストールできます。

sudo apt-get install php5-mysql

于 2014-11-17T19:35:05.550 に答える
2

この質問が古いことは知っていますが、書き換えに .htaccess ファイルを使用しようとしたときに、Windows 8.1 でこの問題に遭遇しました。私の解決策は簡単でした。httpd.conf の次の行を変更するのを忘れていました。

#LoadModule rewrite_module modules/mod_rewrite.so

LoadModule rewrite_module modules/mod_rewrite.so

Apache モニターを再起動したところ、すべて正常に動作するようになりました。将来誰かが簡単な修正で同じ問題に遭遇する可能性があるため、これを回答として投稿するだけです。

幸運を!

于 2014-03-08T18:15:37.533 に答える