ホームページ  >  記事  >  バックエンド開発  >  500 - php 500 出力はなく、エラーも報告されません。エラー コードをすばやく見つけるにはどうすればよいですか?

500 - php 500 出力はなく、エラーも報告されません。エラー コードをすばやく見つけるにはどうすればよいですか?

WBOY
WBOYオリジナル
2016-08-04 09:20:201390ブラウズ


php 500 出力なし エラーは報告されません エラーコードを素早く見つける方法。
出力もエラーもありません。ログは正常です。

言い換えさせてください (中級から上級の面接の質問):

オンライン コード、出力なし、エラーなし、ログは正常、LNMP SERVER 500 エラー、エラー コードをすばやく見つける方法を教えてください。

返信内容:


php 500 出力なし エラーは報告されません エラーコードを素早く見つける方法。
出力もエラーもありません。ログは正常です。

言い換えさせてください (中級から上級の面接の質問):

オンライン コード、出力なし、エラーなし、ログは正常、LNMP SERVER 500 エラー、エラー コードをすばやく見つける方法を教えてください。

ユニバーサルコード:

リーリー

しかし、投稿者はエラー ログを確認する方法をまだ学ぶ必要があります。

それはインタビューの質問であることが判明しました。 。 。 。

  1. ログはありますか?

  2. エラーの現象: 指定されたユーザーまたはすべてのリクエストで発生するか、サーバー (特にデータベース サーバー) の負荷レベルの前に発生するか、エラーが再現できるかどうか。
  3. 最近コードをリリースしたか、オンライン インフラストラクチャを変更しましたか?

  4. これまでにも同様の事件が起きたことがありますか?

  5. 500は内部サーバーエラーです。php-fpmが応答していないか、php-fpmのプロセスが正常かどうかを確認できます。次に、関連するコードを確認します。外部リクエストに依存しているかどうか、ファイル名のスペルミスはないか、パフォーマンスの低いデータベースクエリはないか、不適切なロジック処理があるかどうかを確認します。

  6. 最後に、問題を修正した後、ログがないことを言わないでください。この件についてはログが存在する必要があります。また、テスト プロセスが完了しているかどうかも確認し、次回のやり直しを避けるために改善する必要があるかどうかを確認します。
  7. 拡張機能をインストールし、エラー ログを確認します。
  8. エラーが発生した場所や引用などの情報を特定できます。

私の経験によれば、Windows が一部の統合環境を使用している場合、エラー ログにはメモリ オーバーフローなどのエラー メッセージは表示されません。 (Chrome などのブラウザでは、エラー メッセージや白い画面の代わりに HTTP 500 が直接表示されます)

xdebug
サーバーエラーログを表示する

開発中の場合は、サービスの構成を変更すると、エラーが直接表示されます

ini_set('display_errors','On');

PHP エラー ログを見て、問題をすぐに見つけます

リーリー

strace は、プロセス実行中に受信したシステムコールとシグナルを追跡するためによく使用されます。 Linux の世界では、プロセスがハードウェア デバイスに直接アクセスする必要がある場合 (ディスク ファイルの読み取り、ネットワーク データの受信など)、ユーザー モードからカーネル モードに切り替え、システム経由でハードウェア デバイスにアクセスする必要があります。呼び出します。 strace は、プロセスによって生成されたシステム コール (パラメーター、戻り値、実行時間を含む) を追跡できます。

リーリー

各プロセスのスタックトレースを表示するコマンド。 pstack コマンドは、対応するプロセスの所有者またはルートによって実行される必要があります。 pstack を使用すると、プロセスがハングした場所を特定できます。このコマンドで許可される唯一のオプションは、チェックするプロセスの PID です。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。