更新された質問:PhpStorm | WebMatrix(IISExpress)| Xdebug.remote_port | —どのポートをどこに配置しますか?
WebMatrixとIISExpressを使用して、Windowsマシンでlocalhost Webサーバーを実行しています。私はPHPとXdebugをインストールしましたが、両方とも動作しています。
ローカルWordPress=インストール。
私は今、PhpStormにXdebugを使用してデバッグさせようとしています。
PhpStormを実行すると、ブラウザー内の関連するデバッグパラメーターを使用してブラウザーでWebアプリが起動します。
IDEキーが一致しています
xdebug.remote_port
が正しく構成されています。 (後でこれが間違っていることがわかりましたが、間違いではありません。ポート9000である必要があります)
しかし、XdebugはPhpStormと通信できなくなるようです。 PhpStormはリッスンし続け、ブレークポイントで停止することなく実行が完全に実行されます。
php.ini
に構文エラーがありました。余分な"
quotes"
および;
colons;
がありました。
これらを機能させるには、次の行が重要です(php.ini内):
zend_extension=/usr/lib/php/extensions/no-debug-non-zts-20121212/xdebug.so
xdebug.remote_autostart = 1 <-------- THIS
xdebug.remote_enable = 1 <----------- AND THIS
これらの行がなければ、xdebugはphpstormでは動作しません;)
Php.iniとIDEでxdebugリスンポートを変更してみてください。
Mac Yosemiteを実行していると、問題はhomebrewでインストールし、デフォルトでポート9000
を使用するphp-fpmを使用するガイドに従っていることです(xdebugのデフォルトポートと競合します)... xdebug.remote_port
を9001
に変更してこの問題はphpstormのxdebugポートで修正されましたが、この問題はどのIDEでも発生する可能性があります。私は1日の大部分をグーグルで検索し、この解決策を見つけませんでした(インストール方法に非常に特有だと思うので)。
最初にxdebugが動作しているポートを確認してください。php.iniのxdebug.remote_port=9123
にあります。ご覧のとおり、9123に設定されています。
PhpStormを開き、phpデバッグに移動します。スクリーンショットを参照してください。
xdebugの下にデバッグポートがあります。その値がxdebug.remote_port
(私の場合は9123)の下のphp.iniファイルと同じであることを確認してください。
それが役に立てば幸い
私にとっては、行を変更していました:
xdebug.remote_Host = localhostからxdebug.remote_Host = myComputerIP
(Macユーザー:ターミナルでifconfigを実行してIPを見つけます)
他の誰かがこの問題に遭遇し、Vagrantを使用している場合、これが最終的に私のために修正したものです:
xdebug.remote_Host=10.0.2.2
これは、Vagrantボックス内のローカルマシンのIPアドレスである必要があり、10.0.2.2がデフォルトです。 Vagrantボックスにsshすると、確認したい場合はログイン元のIPが表示されます。
これはOPの特定のセットアップに直接関連していないことはわかっていますが、この投稿は多くのxdebug/PhpStorm Google検索に表示されるため、他の人の助けになることを願っています。
PHPStormのWindowsでXAMPPを使用してLaravelプロジェクトをテストしようとしたときに、これと同じ問題が発生していました。 PHPStormサイトのステップバイステップの手順はこちら 。
適切に設定されていなかったと思うことの1つは、[設定]の[PHP]メニューにインタープリターが設定されていなかったことです。
また、php.ini
。これらは、物事が機能していたときに私が持っていた設定でした:
zend_extension = C:\xampp\php\ext\php_xdebug-2.3.2-5.6-vc11.dll //as recommended from the Xdebug site itself
xdebug.remote_enable=1=
xdebug.profiler_enable=1
xdebug.profiler_output_name = "cachegrind.out.%t-%s"
実行/デバッグ構成では、PHP Webアプリケーション設定を使用します。これは、サイトのルートで開始されます。最初は、追加された?XDEBUG_SESSION_START=<xxxxxxx>
は間違いでしたが、そうではありません。他の誰かが同様の問題に直面している場合に役立つことを願っています。
このエラーメッセージも取得します。
php.iniのトラブルもありましたが、より微妙でした。
このような行を見つけて削除してみてください
extension=php_xdebug-...
「 Xdebug-コマンドは利用できません 」の詳細については、こちらの回答をご覧ください。
572日目...まだ寝ていないか食べていません...しかし、私はついに犯人を見つけました:Windows Defender!
基本的に、JetBrains IDE Support chromeデフォルトの127.0.0.1:63342アドレスを介してPhpStormにデータを送信する拡張機能をブロックするファイアウォールがありました。
提案されたトリックのいずれかを試し、最終的にlocalhost/script.phpとbingoではなく127.0.0.1/script.phpでスクリプトを呼び出しました!
あるプロジェクトが機能し、別のプロジェクトが機能しないという問題がありました。さまざまな設定を試し、xdebugなどのログを調べてみました。この修正により、問題が解決したようです。
Xdebugの実際のポートを9000ではなく9123に設定してみてください。
PHPStormの新しいバージョン(9)は、デフォルトのxdebug接続ポートを9123(実際のxdebug構成ではなく、PHPSTORM構成)に変更しました。これは、おそらく正当な理由によります。 9123に設定されたものは動作し、問題を解決しました。
Peteclark3回答に基づく:
Php5.6-fpm、php7.1-fpmなど、xdebugで複数のphp-fpmバージョンを使用している場合の解決策の1つです。1つだけが実行されていることを確認してください。 5.6と7.1の両方を実行していました。その後、7.1から9001ポートに変更しようとしました。しかし、PhpStormで9001ポートに変更すると、5.6で動作しなくなります。9000でリッスンするためです。したがって、phpバージョンを変更するたびに、おそらくphpStormの設定を変更する必要があります。したがって、php-fpmを1つだけ実行して、すべてのphp-fpmバージョンで同じポートを使用できるようにした方が良いと思います。