本文目錄一覽:
- 1、phpstorm斷點調試,xdebug3,win10
- 2、phpstorm怎麼斷點調試下一步
- 3、EPP 斷點調試,PHP在裡面如何設置斷點調試,還望各位高手指導,並如何運用好EPP的高度工具
- 4、phpstorm 怎麼斷點調試thinkphp
- 5、php寫的微信公眾平台代碼如何進行斷點調試?
- 6、php如何設置斷點調試
phpstorm斷點調試,xdebug3,win10
1. 查看是否安裝xdebug和其版本
新建測試頁面:?php phpinfo(); ?,在頁面中搜索:xdebug,可以查詢是否安裝及其版本
2. 安裝xdebug
把 phpinfo(); 的html頁面內容全部拷貝輸入到 中,自動檢測需要安裝的xdebug版本,此網址也可以檢測你安沒安裝xdebug和其版本,例如
Download php_xdebug- XXXXX.dll
Move the downloaded file to C:\xampp\php\ext, and rename it to php_xdebug.dll
Update C:\xampp\php\php.ini and add the line:
zend_extension = xdebug
Restart the Apache Webserver
3. 配置phpstorm
在Settings裡面找到 PHP – Debug
一定要找到 1. Install Xdebug or Zend………Validate (點擊它),彈出對話框後點擊 Validate,如果全是綠色鉤子,恭喜你,Xdebug安裝配置成功。(這是最關鍵步驟)
如果不是,例如提示將:xdebug.mode = debug 加在 php.ini 里。我的加在 zend_extension = xdebug 後面。查閱很多網頁,他們都加了好多行,在xdebug3里,行不通,浪費我半天時間。
Debug port:9000,9003 其餘都勾選。
Xdebug2的埠是9000;Xdebug3的埠是9003
不用配置DBGp Proxy
添加 PHP – Servers
添加 Add Configuration… 添加PHP Web Page
4. 用Postman斷點調試 POST 介面
在Postmen發送請求時,添加 Headers :
KEY : COOKIE
VALUE : XDEBUG_SESSION=PHPSTORM
5. 用瀏覽器get請求,不停在斷點處解決辦法
用Postman發送get請求,添加 Headers :……..
在瀏覽器chrome里安裝Xdebug helper插件,點擊debug變綠即可。
phpstorm怎麼斷點調試下一步
1.為php安裝xdebug,方法在上一篇中有詳細介紹
2.注意這個時候需要修改php.ini內容如下:
[Xdebug]
zend_extension_ts =”d:/wamp/php/ext/php_xdebug-2.1.2-5.2-vc6.dll”
xdebug.auto_trace=On
xdebug.collect_params=On
xdebug.collect_return=On
xdebug.trace_output_dir=”d:/wamp/php/debuginfo”
xdebug.profiler_enable=On
xdebug.profiler_output_dir=”d:/wamp/php/debuginfo”
xdebug.idekey=PhpStorm
xdebug.remote_enable=on
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_handler=dbgp
3.phpstorm配置
客戶端調試,打開phpStorm,進入FileSettingsPHPServers,這裡要填寫伺服器端的相關信息,name填localhost,host填localhost,port填80,debugger選XDebug
進入FileSettingsPHPDebug,看到XDebug選項卡,port填9000,其他默認
進入FileSettingsPHPDebugDBGp Proxy,IDE key 填 phpStorm,host 填localhost,port 填80
點OK退出設置。
4.瀏覽器設置
chrome有插件xdebug helper下載後,設置白名單為localhost也就是默認localhost,才顯示小蟲子的圖標
5.啟動斷點:
在phpstorm中設置斷點後,啟動監聽,就是電話一樣的圖標,然後用chrome瀏覽localhost中的指定斷點的文件,會自動進入斷點,在phpstorm中看到調試信息。
EPP 斷點調試,PHP在裡面如何設置斷點調試,還望各位高手指導,並如何運用好EPP的高度工具
設置斷點,然後啟動調試,,當程序執行到你設置的斷點的那個地方的時候,會暫停,如果你想單步執行下去按F6 想進入某個函數F5,內部函數是進入不了的,只能進入自定義函數
phpstorm 怎麼斷點調試thinkphp
php–xdebug設置 —phpstorm 斷點調試方法如下:
配置好了之後 可以使用 ide的斷點調試
Xdebug在PHP中的安裝配置涉及php.ini配置文件的修改。
1 、首先需要下載Xdebug,根據安裝的PHP版本,選擇合適的Xdebug版本,
2 、 安裝Xdebug
將下載的php_xdebug-2.1.0-5.3-vc6.dll複製到PHP安裝目錄下的ext目錄,ext目錄專門用來存放PHP擴展庫DLL文件。
3、 配置php.ini
安裝Xdebug的最後一步就是配置php.ini文件,打開C:\php目錄下的php.ini配置文件,在末尾添加
[xdebug]
zend_extension = “c:/wamp/bin/php/php5.4.3/ext/php_xdebug-2.2.3-5.4-vc9-nts-x86_64.dll”
xdebug.idekey=PhpStorm
xdebug.remote_enable = On
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_handler=dbgp
4 、重啟apache phpinfo()可以看到php–xdebug設置 wbr—phpstorm wbr斷點調試 xdebug的那一塊
php–xdebug設置 wbr—phpstorm wbr斷點調試php–xdebug設置 wbr—phpstorm wbr斷點調試
這一欄很長,要注意下面的表格中,xdebug.idekey 這一行內容
php–xdebug設置 wbr—phpstorm wbr斷點調試
5 、然後再配置 phpstorm 里的
php–xdebug設置 wbr—phpstorm wbr斷點調試php–xdebug設置 wbr—phpstorm wbr斷點調試
6 、新建一個調試
php–xdebug設置 wbr—phpstorm wbr斷點調試php–xdebug設置 wbr—phpstorm wbr斷點調試
7 、設置一下 伺服器路徑和文件名
php–xdebug設置 wbr—phpstorm wbr斷點調試
php–xdebug設置 wbr—phpstorm wbr斷點調試
然後可以隨意地打斷點,按那個小蟲子按鈕來調試程序了
php寫的微信公眾平台代碼如何進行斷點調試?
首先需要說明的是,php程序調試需要手動編寫部分代碼,目的是斷截程序線程的執行,輸出指定環節的結果,就是所謂的斷點調試。所以,實際上需要討論的問題是採用什麼斷點代碼更合適。
die()和exit()
die()和exit()函數都有終止線程的作用,是php斷點調試需要使用的最主要的函數,它們也是php程序員使用非常頻繁的函數。然而兩者又有什麼區別呢?在程序調試時需要注意什麼問題呢?
die()函數一般與「or」一併使用,寫作「or die()」,經常看到這樣的語句:
$file = fopen($filename, ‘r’) or die(“抱歉,無法打開: $filename”)
or在這裡是這樣理解的,因為在PHP中並不區分數據類型,所以$file既可以是int也可以bool,所以這樣的語句不會報錯。但其處理過程可能有些朋友不大明白。其實在大多數的語言中, bool or bool這樣的語句中,如果前一個值為真後一個值就不會再判斷了。這裡也是的,所以如果fopen函數執行正確的話,會返回一個大於0的int值(這其實就是”真”),後面的語句就不會執行了。如果fopen函數執行失敗,就會返回false,那麼就會判斷後面的表達式是否為真了。結果執行了die()之後,不管返回什麼,程序都已經停止執行了,並且顯示指定的出錯信息,也就達到了調試的目的。就這樣。
實際上,die和exit是等價的,都是用來終止當前腳本。
php手冊對兩者的解釋如是說:
exit() 函數輸出一條消息,並退出當前腳本。該函數是 die() 函數的別名。
die() 函數輸出一條消息,並退出當前腳本。該函數是 exit() 函數的別名。
實例:
?php $site = “”; fopen($site,”r”) or exit(“Unable to connect to $site”); ?
?php $site = “”; fopen($site,”r”) or die(“Unable to connect to $site”); ?
var_dump()和print_r()
var_dump — 列印變數的相關信息
void var_dump ( mixed expression [, mixed expression [, …]] )
此函數顯示關於一個或多個表達式的結構信息,包括表達式的類型與值。數組將遞歸展開值,通過縮進顯示其結構。
提示: 為了防止程序直接將結果輸出到瀏覽器,可以使用輸出控制函數(output-control functions)來捕獲此函數的輸出,並把它們保存到一個例如 string 類型的變數中。
?php
$a = array (1, 2, array (“a”, “b”, “c”));
var_dump ($a);
$b = 3.1;
$c = TRUE;
var_dump($b,$c);
?
var_dump()可以輸出多個變數,如:var_dump($b,$c)
print_r — 列印關於變數的易於理解的信息
bool print_r ( mixed expression [, bool return] )
注: 參數 return 是在 PHP 4.3.0 的時候加上的
print_r() 顯示關於一個變數的易於理解的信息。如果給出的是 string、integer 或 float,將列印變數值本身。如果給出的是 array,將會按照一定格式顯示鍵和元素。object 與數組類似。
記住,print_r() 將把數組的指針移到最後邊。使用reset() 可讓指針回到開始處。
pre
?php
$a = array (‘a’ = ‘apple’,
‘b’ = ‘banana’,
‘c’ = array (‘x’,’y’,’z’));
print_r ($a);
?
/pre
上邊的代碼將輸出:
pre Array ( [a] = apple [b] = banana [c] = Array ( [0] = x [1] = y [2] = z ) ) /pre
如果想捕捉 print_r() 的輸出,可使用 return 參數。若此參數設為 TRUE,print_r() 將不列印結果(此為默認動作),而是返回其輸出。
例子:return 參數示例
?php
$b = array (‘m’ = ‘monkey’,
‘foo’ = ‘bar’,
‘x’ = array (‘x’, ‘y’, ‘z’));
$results = print_r ($b, true); //$results 包含了 print_r 的輸出結果
?
注: 如果想在 PHP 4.3.0 之前的版本中捕捉 print_r() 的輸出,可使用輸出控制函數。
注: 在 PHP 4.0.4 之前的版本中,如果給出的 array 或 object 包含了直接或間接指向自身的引用,print_r() 將永遠繼續下去。print_r($GLOBALS) 就是一個例子,因為 $GLOBALS 自身即是全局變數,其包含了指向自身的引用。
Zend Debugger
php斷點調試,有人提到用Zend Debugger,簡單方便,適合菜鳥使用。不過本人因沒有用過,在此不作討論。
php如何設置斷點調試
不借用其他程序可以手動加上die()或者exit()函數來調試,藉助其他軟體可下載安裝zend debugger
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/200745.html