2016-08-05 85 views
0

我有這樣的事情更多收起新,我試圖建立的XDebug調試laravel項目中,我在我的Ubuntu 16.04開發,我已經安裝了崇高與包控制和XDebug的客戶端的文字,我從安裝了apt-get的包的XDebug在Ubuntu的16.04一laravel項目中使用sublimetext 3

php (7.0) php-xdebug php-all-dev php-fpm 

的laravel項目已經與COMAND

php artisan serve 

我的代碼保存在崇高的文本3項目工程

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

我/etc/php/7.0/fpm/conf.d/20-xdebug.ini是:

zend_extension=xdebug.so 
xdebug.remote_enable = 1 
xdebug.remote_handler=dbgp 
xdebug.remote_host=127.0.0.1 
xdebug.remote_port = 8000 
xdebug.remote_log="/var/log/xdebug/xdebug.log" 

我不知道我是否需要使用「PHP工匠」進行調試或者只是在崇高的文本的XDebug插件,沒什麼apear工作

什麼想法?

感謝一切

回答

0

這裏是我的XDebug的配置:

zend_extension=/usr/lib/php/modules/xdebug.so 
xdebug.remote_enable=on 
xdebug.remote_host=127.0.0.1 
xdebug.remote_port=9000 
xdebug.idekey="netbeans-xdebug" 
xdebug.remote_autostart=1 

注意remote_autostart,從而正確地進行我的所有調試工作。

我不使用崇高,但這種配置在Atom中,PhpStorm,VSCode和Netbeans工作正常,而且我相信它會在無形中工作的所有兼容的調試器的客戶端。確保在崇高和你的配置文件中的端口,主機和idekey字段是相同的,就這些。

事情是,你必須知道xdebug是如何工作的。那麼你可以輕鬆地在任何地方設置它。

Xdebug的作品,但連接到remote_hostremote_port您在其配置中指定。這意味着,當PHP腳本將要執行時,首先,如果加載,xdebug會嘗試連接到該地址。如果兼容的調試器正在另一側進行偵聽,則進行連接,調試器可以進行調試。請注意,與套接字術語相同,xdebug是您的服務器(ide,debugger,...)的客戶端。因此,在執行PHP腳本之前,您的ide必須先聽。在崇高的時候,找點像聽連接

如果問題出在您的ide或xdebug本身上,您可以使用debugclient作爲xdebug的服務器。只需運行debugclient並執行一個PHP腳本,加載xdebug(看起來你有它)。如果顯示連接已經完成,那麼崇高有配置問題。如果沒有,再次檢查xdebug配置,並確保一切正常。

我看到系統默認情況下未安裝debugclient。您也可以使用nc -l 9000或任何端口進行測試。