500 Internal Server Errorこのページが表示されるのはいつかです。
Localhostページが機能しないlocalhostは現在、このリクエストを処理できません。 HTTPエラー500
display_errors: On
構成ファイルに変数error_reporting : E_ALL
およびphp.ini
を設定し、サーバーを再起動しました。
内部サーバーエラーの原因となっている実際のエラーメッセージではなく、同じページが引き続き表示されます。どうして?
それはおそらくあなたの問題を解決し、ファイルのアクセスレベルを確認します
$ Sudo chmod -R 777 /"your files location"
これは、同じ問題を抱えている他の人を助ける場合の2年前の質問に対する回答です。
指定した情報に基づいて、ファイル(またはファイル)のアクセス許可の問題は、同じ500内部サーバーエラーの原因の1つです。
これが問題であるかどうかを確認するには(エラーの詳細情報を取得できない場合)、ターミナルのディレクトリに移動し、次のコマンドを実行します。
ls -la
制限された権限が表示される場合-例-rw-------@
ファイルに対して、それはあなたの問題です。
その場合の解決策は、問題のファイルでchmod 644
を実行するか、ディレクトリでchmod 755
を実行することです。この回答を参照してください- フォルダとそのすべてのサブフォルダとファイルにchmodを設定するにはどうすればよいですか? -アクセス許可の変更方法の詳細な説明。
背景として、Googleドライブを介して別のMacからコピーした一部のファイルで発生した問題とまったく同じ問題がありました。これにより、ファイルからほとんどの権限が削除されました。
以下のスクリーンショットは説明します。 -rw-------@
パーミッションを持つindex.phpファイルは500内部サーバーエラーを生成しますが、index_finstuff.php(正確には同じコンテンツ!) -rw-r--r--@
パーミッションがあれば問題ありません。 index.phpの権限を変更すると、すぐに問題が解決します。
つまり、PHPコードとサーバーは両方とも問題ありません。ただし、ファイルの制限された読み取り権限により、サーバーがコンテンツを表示できなくなり、500内部サーバーエラーメッセージが表示される場合があります。代わりに表示されます。
CakePHPを使用していて、このエラーが表示されていました。
This page isn’t working
localhost is currently unable to handle this request.
HTTP ERROR 500
App\config\core.phpで定義されたCakePHPデバッグレベルを見に行きました。
/**
* CakePHP Debug Level:
*
* Production Mode:
* 0: No error messages, errors, or warnings shown. Flash messages redirect.
*
* Development Mode:
* 1: Errors and warnings shown, model caches refreshed, flash messages halted.
* 2: As in 1, but also with full debug messages and SQL output.
* 3: As in 2, but also with full controller dump.
*
* In production mode, flash messages redirect after a time interval.
* In development mode, you need to click the flash message to continue.
*/
Configure::write('debug', 0);
値を0から1に変更しました。
Configure::write('debug', 1);
この変更後、ページを再度リロードしようとすると、対応するエラーが表示されました。
Fatal error: Uncaught Exception: Facebook needs the CURL PHP extension.
結論:エラーを確認する私の場合の解決策は、エラーと警告を表示するために、CakePHPのデバッグレベルを0から1に変更することでした。
通常、このようなエラーは、php_info()などの関数を誤って使用しようとすると発生します。
<?php
php_info(); // 500 error
phpinfo(); // Works correctly
?>
PHPエラーは500リクエストをスローしません。コードをよく見ると良いでしょう。
まず、Webサーバーが示すパスのエラーログを確認します。ブラウザにわかりやすいエラーメッセージが表示されている可能性があるため、無効にします。
https://superuser.com/questions/202244/show-http-error-details-in-google-chrome