web-dev-qa-db-ja.com

デバッグPHP Ubuntuで(Xdebug)

PHP Vimデバッガー:Apacheの構成

VimでPHPをデバッグするために Vdebug をインストールしようとしています。残念ながら、F5を押すと、数秒後にこのメッセージが表示されます

Waiting for a connection (Ctrl-C to cancel, this message will self-destruct in
20  seconds...)
No connection was made

私は何をすべきか?

Googleでこれについて検索し、 tutorial および this one(および他の多く))が動作しませんでした。

Vdebug の指示 に従いました。

私はこれを達成する方法がわかりません:

Edit your Apache configure file

In your VirtualHost section, set debugger port same as the one in your vimrc:

php_value xdebug.remote_port **9009**

前述のremote_portは、xdebug.iniおよびvimrcにあるものとは異なります。下記を参照してください。

今、私は/etc/php5/Apache2/conf.d/xdebug.iniにあります:

zend_extension=/usr/lib/php5/20121212/xdebug.so
xdebug.remote_enable=1         
xdebug.remote_handler=dbgp     
xdebug.remote_mode=req         
xdebug.remote_Host=127.0.0.1
xdebug.remote_port=9000

xdebug.profiler_enable_trigger=1
xdebug.profiler_output_dir=/media/www/xdebugdata

そして、私のvimrcで

let g:vdebug_options = {}
let g:vdebug_options["port"] = 9000

Xdebug helper Chrome extension もインストールしました。 IDEを使用することはオプションではありません。Vimを使用したいです。

1
pablofiumara

私はそれを解決し、現在Vdebugは動作しています。

PHPでxdebugを有効にします。php.iniファイルを編集し、[モジュール設定]セクションに以下を追加します。

;;;;;;;;;;;;;;;;;;;
; Module Settings ;
;;;;;;;;;;;;;;;;;;;

zend_extension=/path/to/my/xdebug.so

[debug]

; Remote settings

xdebug.remote_autostart=off

xdebug.remote_enable=on

xdebug.remote_handler=dbgp

xdebug.remote_mode=req

xdebug.remote_Host=localhost

xdebug.remote_port=9000

; General

xdebug.auto_trace=off

xdebug.collect_includes=on

xdebug.collect_params=off

xdebug.collect_return=off

xdebug.default_enable=on

xdebug.extended_info=1

xdebug.manual_url=http://www.php.net

xdebug.show_local_vars=0

xdebug.show_mem_delta=0

xdebug.max_nesting_level=100

;xdebug.idekey=

; Trace options

xdebug.trace_format=0

xdebug.trace_output_dir=/tmp

xdebug.trace_options=0

xdebug.trace_output_name=crc32

; Profiling

xdebug.profiler_append=0

xdebug.profiler_enable=0

xdebug.profiler_enable_trigger=0

xdebug.profiler_output_dir=/tmp

xdebug.profiler_output_name=crc32

やってみよう

すべての準備が整いました。 Apacheを再起動してphpinfo()を実行し、xdebug情報が表示されるかどうかを確認します。そうでない場合は、Apache error_log + googleが友達です。

そうでなければ、vim内でデバッガーを実行する準備ができています。

PHPのスクリプトをVIM localhostからアクセスできます。同じものを開きますPHPスクリプトをWebブラウザーで追加F5。「VIMのように「10秒間ポート9000で新しい接続を待機しています...」」の下部に表示されるはずです。次の10秒以内に、ブラウザページを?XDEBUG_SESSION_START=1はURLの最後にあります。 VIMに戻ると、あなたはデバッガのすべての栄光にいます。忘れないでください:VIMでウィンドウを切り替えるには、 CTRL-w-w

ソース-Ubuntuに適用されますが、別のLinuxディストリビューションを参照します-

お役に立てれば。

1
pablofiumara