さらに参考までに...誰かが同じ/同様の問題を抱えている場合に備えて...(60秒のタイムアウト)
xdebug.remote_autostart
自動接続を回避するために、最初のダブルチェックは無効になっています。指摘されたように、また
説明します。@LazyOne
@Tomáš Fejfar
xdebug.remote_autostart
タイプ: ブール値、デフォルト値: 0
通常、特定の HTTP GET/POST 変数を使用してリモート デバッグを開始する必要があります ( 「リモート デバッグ」を参照)。この設定が 1 に設定されている場合、GET/POST/COOKIE 変数が存在しない場合でも、Xdebug は常にリモート デバッグ セッションを開始し、クライアントに接続しようとします。
これにより、デバッグ Cookie が存在しないときに通常の速度を回復します...
しかし!... Cookie を手動で有効にしたときに、サーバーからの応答が非常に遅くなります(60 秒のタイムアウト) 。
したがって、Xdebug ドキュメントを読んで構成を確認
した後、有効にしたことがわかりました。xdebug.remote_connect_back
xdebug.remote_connect_back
タイプ: ブール値、デフォルト値: 0、Xdebug で導入 > 2.1
有効にすると、xdebug.remote_host 設定は無視され、Xdebug は HTTP リクエストを作成したクライアントに接続しようとします。$_SERVER['REMOTE_ADDR'] 変数をチェックして、使用する IP アドレスを見つけます。利用可能なフィルターがないことに注意してください。アドレスが xdebug.remote_host と一致しなくても、Web サーバーに接続できる人なら誰でもデバッグ セッションを開始できます。
そのため、サーバーへのすべての呼び出しがデバッグされようとしていたため、サーバーが非常に遅くなり、安全性も低下しました。
このオプションを無効にxdebug.remote_host
して、自分のマシンへのポインティングが明確に定義されていることを確認したところ、許容できる応答が 1 秒以内に得られました。Cookie が有効な場合のみ。
簡単に言えば、私の構成ファイルは次のようになります。
zend_extension = "/absolute/path/to/your/xdebug-extension.so"
xdebug.remote_enable = 1
xdebug.remote_autostart = 0
xdebug.remote_connect_back = 0
xdebug.remote_host = "192.168.1.2"
xdebug.remote_port = 9000
xdebug.remote_handler = "dbgp"
xdebug.remote_mode = req
xdebug.remote_log = "/tmp/xdebug.log"
注: この変更は、 php.inietc/php5/conf.d/xdebug.ini
ではなくファイルで行いました。
編集: @
Riimuと@ jdunkがbothのおかげで指摘しているように、以下も設定することをお勧めします: * 詳細についてはコメントを参照してください。
xdebug.remote_cookie_expire_time = 0
// or
xdebug.remote_cookie_expire_time = -9999