2017-03-16 5 views
0

私はSublime Text 3で動作するようにXdebugを設定しようとしていますが、Context、WatchまたはStackのタブに何も表示されません。ブレークポイントを設定し、デバッグ開始(ブラウザ起動)をクリックします。ブラウザはURLに?XDEBUG_SESSION_START=sublime.xdebugを追加したindex.phpファイルを開きますが、ブレークポイントに達するとコードの実行は停止しません。Sublime3用のXdebug(PHP)path_mappingとphp.iniの設定

また、をindex.phpに追加してみましたが、何の効果もありません。

.sublime-projectファイルでpath_mappingと指定すると、最も可能性が高いソリューションと思われます。 documentationのように述べている:値としてキーやローカルパスなどのサーバーパスとパスのマッピングを設定するために必要なファイルの場所を解決するためのリモートデバッグ用

path_mapping

私は、アプリのファイルがC:\inetpub\wwwroot\に保存されているWindows 10上でIISを使用していますし、ホームページのURLは、私は、このような.sublime-projectファイルは次のようになりますよう、それぞれのサーバーのパスとローカルパスで、と仮定しているhttp://localhost/index.phpです:

{ 
    "folders": 
    [ 
     { 
      "path": "." 
     } 
    ], 
    "settings": { 
     "xdebug": { 
      "url": "http://localhost/index.php", 
      "path_mapping" : {"C:\\inetpub\\wwwroot\\" : "http://localhost/index.php"} 
     } 
    } 
} 

これは間違いありませんか?そうであれば、私のphp.iniファイルは正しく設定されていますか?

[ExtensionList] 
. 
. 
. 
zend_extension = "C:\Program Files (x86)\PHP\php-5.6.30-nts-Win32-VC11-x86\ext\php_xdebug-2.5.1-5.6-vc11-nts.dll" 

[XDEBUG] 
xdebug.default_enable=1 
xdebug.remote_autostart=0 
xdebug.remote_connect_back=1 
xdebug.remote_enable=1 
xdebug.remote_handler=dbgp 
xdebug.remote_port=9000 
xdebug.remote_host=localhost 
+1

* "私はそれぞれサーバーパスとローカルパスと仮定しています" * NO - URLとは関係ありません。リモート**ファイルパス**がローカルのファイルパス**と一致しない場合は、パスマッピングを使用する必要があります。ローカルコンピュータのウェブサイトの 'index.php'は'/var/www/'にありますが、リモートでは'/var/www/html/site-name/'にあります。 xdebugログを収集して、何が起きているかを確認します。 – LazyOne

+0

あなたのコメントの助けを借りて、今、@LazyOneの問題を解決してくれてありがとう。 – gbavba

答えて

0

path_mappingphp.iniの設定が両方間違っていました。 @のLazyOneさんのコメントに基づいて

が、それは次のようになりますので、 .sublime-projectファイルに間違った path_mappingを削除:

{ 
    "folders": 
    [ 
     { 
      "path": "." 
     } 
    ], 
    "settings": { 
     "xdebug": { 
      "url": "http://localhost/index.php" 
     } 
    } 
} 

その後追加xdebug.remote_log="C:\Windows\Temp\Xdebug\remote.log" php.iniのにし、ログを検査示した:

I: Remote address found, connecting to ::1:9000. 
E: Time-out connecting to client. :-(

このエラーを検索すると、@ Axelの回答がSO questionになり、これに基づいてxdebug.remote_connect_back=1をに変更しましたphp.iniの

ブレークポイントは、作業を開始し、コンテキストウォッチスタックタブがそれらに到達すると、関連するデータを示し始めました。

+0

したがって、SublimeのxdebugサポートはIPv6をサポートしていないので、IPv4でなければなりませんか?成功したセッションはxdebugログをどのように見ますか?つまり、どのIPに接続できるのですか? – LazyOne

+0

'localhost:9000'ログは' I:設定されたアドレスへの接続/ポート:localhost:9000.'を示し、 'I:クライアントに接続しました。 :-) ' – gbavba

関連する問題