8

eclipse-pdtをxdebugおよびapacheと組み合わせて、問題なく1年以上使用しています。物事は完璧に機能し、Eclipse内から(自分のマシンをサーバーとして使用して)必要なすべてのインタラクティブなデバッグを実行できました。

今、私はapacheからnginxに切り替えました(したがって、PHPはApacheサービスとしてではなく、fast-cgiとして実行されます)。xdebugでうまく機能するようにEclipseを構成する方法が見つかりません。問題がxdebugにあるのか、Eclipse(またはその両方)にあるのかはわかりません。

eclipse構成では、PHP構成ファイルへの参照をに変更しました/etc/php5/cli/php.ini


php.iniバージョン1での試行

次のphp.iniファイルで

zend_extension=/usr/lib/php5/20060613/xdebug.so
  • xdebugが機能していることがわかります(たとえば、実行するvar_dump()と、プレーンなPHPバージョンではなく、xdebugバージョンを取得します)
  • eclipseからインタラクティブなデバッグを行うことはできません。ブラウザが開き、を含む一般的なURLでページが完全に読み込まれます...?XDEBUG_SESSION_START=ECLIPSE_DBGP&KEY=...が、プログラムの実行はブレークポイントで停止しません。
  • Eclipseの右下隅に、「Launching = put_the_name_of_my_project_here =:57%」という疑わしいメッセージが表示されます。このメッセージは「refreshingworkspace」メッセージと交互に表示されます

php.iniバージョン2での試行

この他のバージョンのファイルを使用する場合(nginxに切り替えるまでは機能していました):

zend_extension=/usr/lib/php5/20060613/xdebug.so
xdebug.remote_enable=On
xdebug.remote_autostart=On
xdebug.remote_handler=dbgp
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_mode=req

自分のサイトのどのページにもまったくアクセスできません。


PS:私のマシンの追加データ: -OS GNU / Linux-Ubuntu9.1064ビット。-PHP : 5.2.10-2ubuntu6.3 with Suhosin - Patch 0.9.7; Zend Engine v2.2.0、Copyright(c)1998-2009 Zend Technologies with Xdebug v2.0.4- Eclipse:スクリーンショットを参照してください。

代替テキスト

4

5 に答える 5

16

xdebug と FastCGI は同じデフォルト ポート (9000) を使用します。次のように、php.ini ファイルで XDebug のポートを変更します。

xdebug.remote_port=9001

9001 を使用するように IDE 設定を更新します。

于 2011-07-25T10:45:37.487 に答える
7

Beau の言ったことは正しいです (私は新しいので投票できませんでした!)。

通常、次のような行を /etc/php5/cgi/php.ini に追加 (または php.ini を検索) します。

zend_extension = /PATH_TO/xdebug.so   ## <-- NOTE the absolute path, not relational (For ex on Windows: "C:\nginx-1.9.13\php\ext\php_xdebug-2.6.0RC2-7.0-vc14-nts.dll")
xdebug.remote_enable = on
xdebug.remote_handler = dbgp
xdebug.remote_host = localhost
xdebug.remote_port = 9900        ## <-- Yours will be probly 9000 or other..

仕事をします。

なので変更後は、

./php-fastcgi stop
./php-fastcgi start

これは私にとってはうまくいきました。

于 2010-07-23T22:57:57.470 に答える
2

php を再起動してみてください。あなたはphp-fastcgiを持っているので、nginxを再起動してもうまくいかないようです。サーバー全体を再起動すると、変更が有効になりました。

于 2010-03-14T02:03:12.330 に答える
1

私は同じ問題を抱えていて、それを解決しました。
ファイル/etc/php5/apache2/php.iniに次を追加します。

[xdebug] xdebug.remote_enable=On
xdebug.remote_autostart=off
xdebug.remote_handler=dbgp
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_mode=req


ファイル/etc/php5/cli/php.iniに次を追加します。

zend_extension=/usr/lib/php5/20060613/xdebug.so
xdebug.remote_enable=On
xdebug.remote_autostart=off
xdebug.remote_handler=dbgp
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_mode=req


アパッチを再起動します。

sudo service apache2 restart
于 2009-12-15T08:51:25.767 に答える
0

解決策の問題は「xdebug.remote_autostart = on」です。ファイル構成で「xdebug.remote_autostart = on」を設定した場合。これにより、Xdebug は、このサーバーで行われるすべてのリクエストに対してデバッグ セッションを開始するように強制されます。デバッグ セッションが必要であることをリクエストで指定する必要はありません。

変更が必要です

" xdebug.remote_autostart = off "

そして、Web サービスを再起動します。この例では Apache です。

ここで詳細を読むことができます: http://doc.waterproof.fr/phpedit/debugging_profiling/configuration/debugger_with_xdebug

幸運を!

于 2009-12-22T09:33:32.563 に答える