1. 程式人生 > >php下的Debug的調試

php下的Debug的調試

官方 發送 RM cal TP remote back alt stop

基礎知識

對於php來說,debug的話,有個東西叫xdebug,當然配置這個時候,特別在mac下出了很多坑,這裏強烈推薦一個mac下類似phpstudy的東西,叫做MxSrvs,了解一下?

Xdebug工作原理

1,IDE(如PhpStorm)已經集成了一個遵循BGDP的Xdebug插件,當開啟它的時候, 會在本地開一個xdebug調試服務,監聽在調試器中所設置的端口上,默認是9000,這個服務就會監聽所有到9000端口的鏈接。在PhpStorm中,位於:工具欄 > Run > Start / Stop Listening for PHP Xdebug Connetions

2,當瀏覽器發送一個帶XDEBUG_SESSION_START

的參數的請求到服務器時,服務器接受後將其轉到後端的php處理,如果php開啟了xdebug模塊,則會將debug信息轉發到客戶端IP的IDE的調試端口上。當參數或者cookie信息中不帶XDEBUG_SESSION_START,則不會啟動調試。這就為後續在瀏覽器中添加開關提供了可能。Xdebug的官方給出了一個示例圖:很好的展示了相互調用關系。

這個示例圖是綁定了ip,即使用了固定ip地址,xdebug.remote_connect_back = 0 ,也是 xdebug 的默認方式,這種情況下,xdebug 在收到調試通知時會讀取配置 xdebug.remote_host 和 xdebug.remote_port ,默認是 localhost:9000,然後向這個端口發送通知,這種方式只適合單一客戶端開發調試。

技術分享圖片

php下的Debug的調試