⑴ 為什麼php的xdebug的auto_trace一打開有的網頁顯示不了
xdebug.auto_trace 用於設定在腳本運行前是否自動跟蹤方法的調用信息。
該功能可以在你指定的目錄中將函數調用的監測信息以文件的形式輸出。此配置項的默認值為off。
xdebug.trace_output_dir="/tmp/xdebug" ;設定函數調用監測信息的輸出文件的路徑
xdebug.profiler_output_dir="/tmp/xdebug" ;設定效能監測信息輸出文件的路徑
能顯示的頁面是php頁面。
還是 html文件啊。
如果是html文件,說明你的配置文件php.ini 中有錯誤。
⑵ 怎麼設置phpstorm xdebug不彈出瀏覽器
PHP安裝xdebug擴展
我使用Laravel Homestead作為開發環境默認已經安裝,如果沒有安裝自行安裝下,再繼續。
查看phpinfo如圖:
remote_handler 、remote_host、remote_port 這些都有默認值,但還是建議設置下,至少知道要設置這些參數~
END
PhpStorm設置
1、檢查phpstorm的xdebug配置。這里的debug port要和php.ini裡面的xdebug.remote_port相一致!默認是9000,如果9000埠被佔用的話,可以改成其他埠。
設置debug.
添加server~
swoole.app是我本地的 web server~ ~
3
3.開始調試
打好第一個斷點,shift + F9就可以了
打好第一個斷點,選中配置的debug, 按旁邊的臭蟲 按鈕
⑶ 如何解決xdebug安裝失敗
方法/步驟
查看錯誤,錯誤信息存在apache的logs文件中,查看方法如圖:
下載xdebug方法,到xdebug.org官網下載後放到一個地方即可,推薦存放到php/ext目錄中,需要注意的是一定要下載和你的apache和php版本都一致的版本,否則可能會載入失敗。
安裝xdebug方法:在php.info配置文件中添加xdebug配置信息,即可,如圖。
[xdebug]
zend_extension=D:/php/php-5.4.31/ext/php_xdebug-2.2.2-5.4-vc9.dll
;zend_extension= /usr/lib/php5/20090626+lfs/xdebug.so (Linux)
xdebug.remote_enable=on
xdebug.remote_handle=dbgp
xdebug.remote_host=127.0.0.1
xdeubg.remote_port=9000
xdebug.idekey="ide.xdebug"
Xdebug.auto_trace = on
;function info formmat
xdebug.profiler_enable=on
;xingneng info
xdebug.trace_output_dir="D:/php/php-5.4.31/xdebug"
;xingneng info
xdebug.profiler_output_dir="D:/php/php-5.4.31/xdebug"
;xingneng info
Xdebug.profiler_output_name="cachegrind.out.%p"
重啟apache,通過phpinfo查看,如果能看到xdebug說明安裝成功,否則請根據第一步查看錯誤方法 進行排查。成功頁面如圖:
END
注意事項
下載的xdebug文件名中的版本號分別是apache的版本號和php的版本號,需選擇正確
php.info文件中配置載入xdebug目錄時都需要寫文件的全路徑
⑷ 怎麼修改php xdebug-idekey
在PHPSTORM中配置XDEBUG
其實並不需要寫idekey。
php.ini
[curl]
; A default value for the CURLOPT_CAINFO option. This is required to be an; absolute path.
;curl.cainfo =
; Local Variables:
; tab-width: 4
; End:
; XDEBUG Extension
zend_extension = "d:/wamp/bin/php/php5.5.12/zend_ext/php_xdebug-2.2.5-5.5-vc11-x86_64.dll";
;[xdebug]
xdebug.remote_enable = on
xdebug.profiler_enable = on
xdebug.profiler_enable_trigger = on
xdebug.profiler_output_name = cachegrind.out.%t.%pxdebug.profiler_output_dir = "d:/wamp/tmp"xdebug.show_local_vars=0
xdebug.idekey = "phpstorm"
xdebug.auto_trace = on
xdebug.show_exception_trace = on
;***** Added by go-pear
include_path=".;d:wampinphpphp5.5.12pearpear";*****
執行跟蹤斷點
點擊Run->Debug 會自動的打開PHP Web Application 中配置的網址(網址結尾會加上參數XDEBUG_SESSION_START=xxx),無需開啟 Start Listening For PHP Debug Connections。
⑸ php的xdebug有什麼用
速度慢並不是
xdebug
運行慢,而是配置了
xedebug
,它首先會去嘗試連接調試伺服器,連接不上才直接返回
php
結果。如果這時候打開
phpstorm
的調試監聽,這時候
php
運行的速度就超快了。
xdebug只開啟debug來,trace,profile都關掉。
⑹ PHP中XDEBUG配置問題,新手求解答
把zend_extension="E:\PHP5\ext\php_xdebug.dll"
寫到PHP的extension=xxx.dll周圍不要寫在[Xdebug]中。
查看php的error log文件看為什麼載入錯誤,常見的錯誤是文件路徑不對,版本不對。
一般調試[Xdebug]的配置都不用寫。就寫一行zend_extension即可。
⑺ php5.5怎麼配置xdebug
用phpstudy 2014集成包裡面已經集成xdebug,已經配好。在菜單php擴展管理勾上xdebug即可。如圖
⑻ php xdebug 怎麼配置
1、下載安裝xdebug
1.1 到http://xdebug.org/download.php 下載適合你的PHP版本的xdebug
1.2 復制到php安裝目錄的ext文件夾,改名為php_xdebug.dll
1.3 配置xdebug
在php.ini尾部添加如下
[xdebug]
zend_extension="php_xdebug.dll"
xdebug.remote_enable = On
xdebug.remote_host = "localhost"
xdebug.remote_port = 9000
xdebug.remote_handler = "dbgp"
xdebug.auto_trace = 1
xdebug.collect_includes = 1
xdebug.collect_params = 1
xdebug.collect_return = 1
xdebug.default_enable = 1
xdebug.collect_assignments = 1
xdebug.collect_vars = 1
xdebug.remote_autostart = 1
xdebug.remote_connect_back = 1
xdebug.show_local_vars = 1
xdebug.show_exception_trace = 0
運行phpinfo();看有xdebug模塊信息出來就是搞定了。
2、配置Zend Studio 支持xdebug
這里的配置很重要
選擇Zend Studio 的 Window 》 Preference 》 PHP 》Installed Debuggers 雙擊 Xdebug,彈出對話框如下圖
Debug Port 設為跟php.ini中設置的一樣(默認是9000)。
Accept remote session(JIT) 選擇localhost
允許瀏覽器訪問網站時zend studio自動打開文件開始調試。
選項說明: http://www.111cn.net
off: 關閉瀏覽器訪問時打開調試功能;
localhost: 通過localhost訪問網頁的時候打開調試。
any:只要訪問伺服器上的php都打開調試;
prompt:訪問伺服器上的php時彈出詢問是否要調試。
一旦打開zend studio允許xebug調試,所有訪問php頁面都會進入調試。
我們可以使用easy xdebug火狐插件可在客戶端控制是否開啟調試。
1、首先php.ini設置
xdebug.remote_autostart = 0
不自動啟動調試。
2、安裝火狐插件easy xdebug,
安裝好該插件後,點擊如下圖右下角小綠蟲後,蟲子上面有個小紅點,這時候我們訪問測試伺服器的時候,Zend Studio就回自動彈出調試。
另外,可設置使用xdebug,在zend studio中對直接調試php文檔,這里就不多說了。
⑼ phpstorm如何去監聽本地app實現本地調試
般是通過瀏覽器訪問web項目,腳本的執行不受ide控制,所以一般情況下無法在ide中實現斷點,但是有了xdebug,一切變得不一樣了。
當然,我們首先給php安裝xdebug擴展,xdebug 有個遠程調試的功能,可以指定一個遠程ip地址和埠,當我們在瀏覽器中訪問某個腳本的時候,可以通過某種方法告訴xdebug我們需要調試,然後xdebug會將調試信息發送給遠程地址,這個遠程地址呢,就是我們phpstorm來實現的,它將接收xdebug吐出來的信息,並在ide中反饋給我們,我們就可以實現斷點調試了。
那麼,實現這個功能分三步走:
1.安裝&配置xdebug
安裝擴展過程就略了,簡單貼一下我的xdebug配置參數,在php.ini中:
[xdebug]
zend_extension="/usr/local/Cellar/php54-xdebug/2.2.5/xdebug.so"
xdebug.remote_enable =1
xdebug.remote_handler = "dbgp"
xdebug.remote_host = "localhost"
xdebug.remote_mode = "req"
xdebug.remote_port = 9001
xdebug.idekey="PHPSTORM"
注意xdebug.remote_host和xdebug.remote_port兩個參數,這與phpstorm有關,先留個心。
之後重啟下webserver以使php.ini生效。
2.phpstorm配置
在project settings - PHP - Debug中,有一個xdebug的欄,其中有一個debug port,我們設置為9001和上面xdebug.remote_port保持一致,其他不變,保存配置。
然後點擊phpstorm菜單欄run - start listening for php debug connections,這時候php會後台創建一個服務來監聽localhost:9001這個地址,對應 xdebug 配置的。
3.瀏覽器觸發調試
萬事俱備只欠東風,現在打開一個php腳本是不會產生調試信息的,xdebug不會調試所有的請求,必須指定一個標識,xdebug才能識別。
現在,打開 https//wwwjetbrains.com/phpstorm/marklets/ 這個地址,點擊左側的 generate 按鈕,然後頁面下方會出現一系列鏈接,比如 "start debugger" ,查看它的href屬性會發現是一個js代碼,復制它,然後到你要調試的頁面,在f12控制台中執行它,它會在當前域下生成一個cookie,當請求url時,xdebug就能根據這個cookie知道你要debug,隨即向localhost:9001吐數據,phpstorm接收到以後再結合自身的斷點調試工具...
但是這樣太麻煩,如果你用的是chrome那可以下載一個插件,名字叫 "Xdebug helper" 你可以在插件市場搜索到並安裝它,安裝好以後在擴展管理中心找到它,並點擊 "選項" 鏈接,進入插件的配置頁面,其中IDE Key選擇 "phpstorm" ,然後在Domain filter中將你的項目域名添加進去。這樣,當你訪問你的項目url時,會在地址欄右側出現一個小蟲子,你可以點擊小蟲子開啟debug,很方便吧。
這樣,你在phpstorm中對應url的腳本設置一個斷點,然後瀏覽器中開啟debug,刷新頁面,phpstorm會自動彈出一個確認框,讓你確認是否調試指定的腳本。接著你就可以快樂的使用斷點調試功能了。
⑽ phpstorm 怎麼關掉xdebug
php安裝xdebug擴展
我使用laravel
homestead作為開發環境默認已經安裝,如果沒有安裝自行安裝下,再繼續。
查看phpinfo
remote_handler
、remote_host、remote_port
這些都有默認值,但還是建議設置下,至少知道要設置這些參數~
phpstorm設置
1、檢查phpstorm的xdebug配置。這里的debug
port要和php.ini裡面的xdebug.remote_port相一致!默認是9000,如果9000埠被佔用的話,可以改成其他埠。
2
設置debug.
添加server~
swoole.app是我本地的
web
server~
~
3.開始調試
打好第一個斷點,shift
+
f9就可以了
打好第一個斷點,選中配置的debug,
按旁邊的臭蟲
按鈕