これは PHPStorm の問題ではなく xdebug の問題であると確信していますが、明確にするために、PHPStorm をローカルで使用してリモート サーバーにある PHP コードをデバッグしています。サーバーに xdebug をセットアップし、サーバーの php.ini で次の構成を使用しています。
zend_extension=/home/httpd/php_extensions/xdebug-2.1.4/modules/xdebug.so
xdebug.remote_enable=1
xdebug.remote_port=9000
xdebug.remote_connect_back=1
xdebug.idekey=PHPSTORM-XDEBUG
PHPStorm をローカル デバッガーとしてセットアップしました。Chrome の XDebug Helper または Firefox の簡単な Xdebug を使用して xdebug を初期化します (どちらを使用しても問題は発生します)。通常、デバッグは正常に機能します。ブレークポイントの設定、コードのステップ実行、変数の表示などを行うことができます。
問題は、特定の要求がサーバーから応答を受信しない場合に発生します。サーバーはまったく応答しません。Charles Web Debugging Proxy でこれを検証しました。これは常に同じ特定のリクエストで発生し、ブレークポイントが設定されているかどうかに関係なく発生します。応答を受信しない要求はすべて似ています。複数の JavaScript ファイルを縮小して連結し、結果をエコーする php スクリプトを呼び出します。
トラブルシューティングのために、これを php.ini に追加して xdebug ロギングを有効にしました。
xdebug.remote_log=/home/httpd/xdebug.log
これらの問題のあるリクエストのエンドポイントとしてヒットしたphpファイルの名前のログをgrepすると、0の結果が得られます(そのエンドポイントにブレークポイントを明示的に追加していない限り)。そのエンドポイント(minify.php)にブレークポイントを追加すると、PHPStormで問題なくステップスルーでき、縮小および連結されたJSコードをエコーアウトしてもコードを通過するようです-それでも応答は送信されません私のローカルマシンが認識している限り、サーバーから。
ここで何が起こっているのか分かりますか?xdebugを使用する能力が本当に妨げられています。ありがとう。