PHP アプリケーションを共有ホスティング Web サーバーにインストールしました。を取得してい500 Internal Server Error
ます。ログ ファイルにアクセスできないようですので、エラー ページに一時的にエラーの詳細を表示したいと思います。
5 に答える
試す:
error_reporting(E_ALL);
ini_set('display_errors', '1');
ファイルの上部にあります。
Jeremy Morgan のソリューションがうまくいかない場合は、 を使用して独自のログ ファイルを作成してみてくださいset_error_handler()
。通常、アプリケーションの状態に関する情報 ($GLOBALS など) は十分な情報ですが、PHP は、エラーが発生した場所とエラーの種類に関するあらゆる種類の情報を (少なくとも試みて) 渡します。
また、デバッグの「分割統治」方法を使用してみてください。ファイルの約半分から始めて、まだクラッシュしている場合は上に、その時点まで実行されている場合は下に展開します。コードを削除したくない場合は、コードを削除するか/* comment out */
、__halt_compiler()
特別なディレクティブを使用して PHP にファイル内の残りのデータをすべて無視させます。
最後に、それを修正しようとして気が狂ったのは、Byte Order Markと呼ばれるものです。PHP はファイルの先頭でその BOM を評価していたため、出力が送信され、ヘッダーなどの送信中に問題が発生していました。おそらくあなたの問題ではありませんが、持つ価値のある知識です。
PHPからそのエラーが発生しているとは思えません。共有ホスティングでは、アプリケーションのデフォルトの .htaccess 構成がエラーを引き起こしている可能性が高くなります。
私の推測では、RewriteBase
セットなしの mod_rewrite になります。
の値phpinfo();
を見て、何か突き出ているかどうかを確認してください...コードのどこかに置くと、PHPバージョン情報が表示されるはずです
「Internal Server Error」は PHP エラーではありません (名前が示すように)。したがって、サーバー ログ (アクセス権がないように見えます) を確認するか、PHP からは何もできません。