php調試器
❶ php如何單步調試
PHP本就是腳本語言,程序執行就是「單線程」。
要測試節點或者邏輯是否正確的話,只需要在你需要測試的節點echo一下信息,還可以file_put_contents()寫入日誌信息。
這樣程序執行的基本流程就可以了,這時候就可以判斷,你程序的節點邏輯是否執行正確。
❷ 哪個php編輯器最好用
一個好的編輯器或開發工具,能夠極大提高我們的開發效率。下面介紹10個免費、強大的PHP編輯器/開發工具。這些編輯器擁有調試器、增量執行PHP腳本、查看每一行的所有變數值等功能。
1) Notepad ++
Notepad++是一款非常有特色的編輯器,是開源軟體,可以免費使用。支持的語言: C, C++, java , C#, XML, HTML, PHP, JavaScript! 功能有:
1. Notepad內置支持多達 27 種語法高亮度顯示(囊括各種常見的源代碼、腳本,值得一提的是,完美支持.nfo 文件查看),也支持自定義語言;
2. Notepad可自動檢測文件類型,根據關鍵字顯示節點,節點可自由折疊/打開,代碼顯示得非常有層次感!這是此軟體最具特色的體現之一;
3. Notepad可打開雙窗口,在分窗口中又可打開多個子窗口,允許快捷切換全屏顯示模式(F11),支持滑鼠滾輪改變文檔顯示比例,等等;
4. Notepad提供數個特色東東,如鄰行互換位置、宏功能,等等...現在網上有很多文件編輯器,這個卻是不可多得的一款,不論是日常使用還是手寫編程代碼,都能讓你體會到它獨有的優勢和方便。
2) PHPDesigner 7
phpdesigner 不僅支持php ,也支持其他網路語言像html ,xhtml,xml,css和javascript ,vbscript,java, c#,perl , python等!
由於可以搭配使用的相關免費資源相當的多,PHP 的網頁設計越來越多人在學習了,MPS PHP DESIGNER 是針對 PHP 網頁的編寫所設計的程序,它內建一系列的指令碼、PHP4 原始碼資料庫、語法高亮度顯示功能、FTP 客戶端…等,不管您是 PHP 網頁設計高手,或者是剛入門的新手,您都可以使用者套軟體來幫您設計網頁程序(SQL、HTML 亦支持)。
3) Eclipse PDT
Eclipse這個集成開發環境只要有插件就可以實現相應功能。PDT這個項目很早就開始進行了。Zend Studio for Eclipse就是基於這個插件的,再加上自己的調試器。大家也可以在Eclipse上使用這個插件,然後自己再去選擇調試器來配置自己的開發壞境。至於怎麼配置,網上有人寫出了自己的配置方法,大家可以自己查閱,這里只是介紹工具,這個暫且按下不表。這里我介紹的一個配置完整的包。這個也是Zend開發的,因為是免費的,所以在使用時自然不能和Zend Studio相比。
但是因為是在Eclipse上安裝插件自定義實現,不必為PHP開發再安裝一個大型軟體,所以還是有很多人喜歡用這么個工具的。
4) Bluefish
Bluefish標榜其自身是「一款為熟練的Web設計員和程序員而設的編輯器,但它的UI卻很直觀,任何初學者都很夠很快上手,並在不斷地積累中發現和掌握它的其它功能。如果你需要的是一款能夠進行Web代碼設計的文本編輯器,那麼它一定會是一款很不錯的軟體。它給我的總體印象就是專業卻不令人生畏,文字和圖標結合的都很好。
Bluefish提供了很多常用的HTML任務選項,例如字體、表格等等,當然還有鏈接,這個軟體是用了一個比較不常見的「鏈接描述」(anchor)來表明可點擊的鏈接。「鏈接描述」對話框甚至還提供了例如OnClick和OnMouseover這樣的Javascript腳本事件功能。
5) Notepad2
Notepad2是一個外觀類似系統記事本的文本編輯工具,但比記事本有了很大的增強。
1. 自定義語法高亮,支持HTML, XML, CSS, JavaScript, VBScript, ASP, PHP, CSS, Perl/CGI,C/C++, C#, Java, VB, Pascal,匯編, SQL, Python, NSIS,INI, REG, INF, BAT,DIFF等眾多腳本文件。
2. 支持ANSI,Unicode,UTF-8等編碼互換
3. 可以設置無限個書簽(9種圖標可換)輕松定位
4. 空格,製表符彩色顯示,並可互相轉換
5. 可以對任意的文本塊進行操作,ALT鍵+滑鼠
6) HTML-Kit
HTML-Kit可以很容易的編輯、查找、驗證、預覽和發布HTML文檔。功能包括:拖拽編輯、顏色代碼列印、自動完成、任務欄、UNIX風格的查找替換、無限UNDO、文檔模板、支持多種語言腳本和CSS、XML及XHML等等。
7) PHP Coder
PHPCoder用於快速開發和調試PHP應用程序,它很容易擴展和定製,完全能夠符合開發者的個性要求.
1. 結合了PHP編譯器和參考文檔,可以對編輯中的PHP腳本進行即時預覽;
2. 支持高亮顯示HTML和PHP代碼;
3. 自動完成功能,可以自動完成用戶自定義代碼片斷;
4. 標准函數提示;
5. 有專門的工程項目管理器;
6. 對象瀏覽器搜尋編輯中文件的包含信息,自定義函數,並以樹形顯示.
7. 支持查找對稱的語句標記符;
8. 支持高級搜索和替換;
9. 自帶FTP功能;
10. 支持運行和斷點調試。
總之,PHPCoder是一個非常實用的,功能強大的編程環境,而且它是免費的!
8 ) PHP Editor
DzSoft PHP Editor是專為PHP所設計的網頁程序編輯軟體-DzSoft PHP Editor,具有PHP編輯、偵錯、瀏覽、原始碼檢視、檔案瀏覽、可自訂的原始碼樣本..等功能,無須架設網站主機就可以測試PHP指令碼,是一套功能強大的PHP編程軟體。
9) NetBeans IDE
NetBeans IDE是一個開源集成開發環境,可用於Windows、Mac、Linux和 Solaris。除完全支持所有 Java 平台(Java SE、Java EE、Java ME 和 JavaFX)之外,NetBeans 還是PHP、Ajax和JavaScript、Groovy和 Grails、Ruby和Ruby on Rails以及C/C++軟體開發的理想工具。
原開發者是 SUN公司,現在為Oracle公司所有。
NetBeans 有多個產品,我們這里介紹的是專為PHP使用的,NetBeans for PHP有以下幾個顯要的優點:
全中文界面
完全開源免費
支持代碼模板功能
支持代碼自動折疊(可選擇自動折疊代碼的區域)
支持代碼格式化
支持項目詳細設置(項目右鍵屬性)
支持多編碼
支持FTP管理
支持PHP調試
支持語法加亮自定義
支持文件比較
支持按項目查找和替換
支持版本控制(CVS、Subversion、Mercurial)
支持插件功能
支持代碼縮進(Tab和Shift + Tab,大部分編輯器都支持這2個快捷鍵)
支持括弧匹配(包括大括弧)
支持語法即時糾錯
支持PHP、JS、CSS以及混寫導航
支持JS兼容性檢查
支持CSS設計
支持代碼提示(輸入點號、::、->,就會自動提示代碼,其它情況由用戶來決定是否提示)
支持文件快速定位(快捷鍵Alt + Shift + O,可以快速在項目中通過關鍵字列表出相關文件並定位)
支持類型快速定位(快捷鍵Ctrl + O,針對於JS,直接搜索出包含關鍵字的函數名稱並定位)
支持符號快速定位(快捷鍵Ctrl + Alt + Shift + O,同時針對PHP和JS,直接搜索出包含關鍵字的屬性、方法和函數名稱並定位)
系統和插件可以自動更新
好處實在說不完,誰用誰知道,你的eclipse、zendstudio都可以扔了,這話有點過,如果單從費用來說,後者確實可以去掉。
10) PSPad
pspad,一款超級小巧,又超合適開發php的軟體
推薦理由:對編碼格式支持超好,用DW編寫純代碼還是極易出錯,如帶SESSION在DW編寫,絕對會提示錯誤,當然還有很多好處就不一一羅列
缺點:沒有代碼提示功能,不過,如果你是老手的話,這個不在呼,而新手更應該練習不需提示的寫代碼。
免費的編輯器,支持簡體中文界面。它集各種編輯器的優點於一身,同時編輯多個文件,可以使用project;內置HEX編輯器;內置HEX編輯器;支持宏的錄制和使用;支持語法高亮和彩色顯示,HTML,PHP,Pascal,JScript,VBScript,SQL,Perl,JAVA...;內置文件比較工具;支持宏的錄制和使用;內置FTP工具;可以針對不同的文件類型設置對應的外部工具;支持外部編譯器。不過其打開文件的速度似乎不如Editplus。
❸ 常用的php開發工具有哪些
1、EditPlus
EditPlus是一套功能強大,可取代記事本的文字編輯器,擁有無限制的Undo/Redo、英文拼字檢查、自動換行、列數標記、搜尋取代、同時編輯多文件、全屏幕瀏覽功能。對於很多php程序來說,EditPlus 非常簡單好用。同時EditPlus也是一款好用的HTML編輯器,除了可以顏色標記HTML Tag (同時支持C/C++、Perl、Java)外,還內建完整的HTML和CSS1指令功能,對於習慣用記事本編輯網頁的朋友,它可幫你節省一半以上的網頁製作時間,若你有安裝IE 3.0以上版本,它還會結合IE瀏覽器於EditPlus窗口中,讓你可以直接預覽編輯好的網頁(若沒安裝IE,也可指定瀏覽器路徑)。
2、 PHPDesigner 7
PHPDesigner 7不僅適用於php開發 ,也支持其他編程語言,例如:html 、xhtml、xml、css和javascript 、vbscript、java、c#、perl、python等!PHPDesigner 7主要針對 PHP 網頁的編寫所設計的程序,它內建一系列的指令碼、PHP4 原始碼資料庫、語法高亮度顯示功能、FTP 客戶端等,無論您是 PHP 網頁設計高手,或者是剛入門的新手,您都可以使用PHPDesigner 7來設計網頁程序。
3、Norepad++
Notepad++是一款台灣人開發的一款非常有特色的編輯器,屬於開源軟體,支持C、C++、Java、C#、XML、HTML、PHP、Javas cript編程語言,而且可以免費使用。
主要功能有:
①內置支持多達27種語法高亮度顯示(囊括各種常見的源代碼、腳本,值得一提的是,完美支持.nfo文件查看),也支持自定義語言;
②可自動檢測文件類型,根據關鍵字顯示節點,節點可自由折疊/打開,代碼顯示得非常有層次感!這是此軟體特色的體現之一;
③可打開雙窗口,在分窗口中又可打開多個子窗口,允許快捷切換全屏顯示模式(F11),支持滑鼠滾輪改變文檔顯示比例等等。
4、PHP Coder
PHPCoder用於快速開發和調試PHP應用程序,它很容易擴展和定製,完全能夠符合PHP開發者的個性要求 主要功能為:
1. 結合了PHP編譯器和參考文檔,可以對編輯中的PHP腳本進行即時預覽;
2. 支持高亮顯示HTML和PHP代碼;
3. 自動完成功能,可以自動完成用戶自定義代碼片斷;
4. 標准函數提示;
5. 有專門的工程項目管理器;
6. 對象瀏覽器搜尋編輯中文件的包含信息,自定義函數,並以樹形顯示;
7. 支持查找對稱的語句標記符;
8. 支持高級搜索和替換;
9. 自帶FTP功能;
10. 支持運行和斷點調試;
總之,PHPCoder是一個非常實用的,功能強大的編程環境,而且它是免費的!
5、Zend Studio
zend Studio 是專業開發人員在使用PHP整個開發周期中的集成開發環境 (IDE),它包括了PHP所有必須的開發部件。通過一整套編輯、調試、分析、優化和資料庫工具,Zend Studio 加速開發周期,並簡化復雜的應用方案。
Zend Studio主要組件
1 專業的集成開發環境 內置 編輯器, 調試器, 以及 幫助文檔
2 Windows, Linux, Mac 等多個操作系統版本
3 多語言支持
4 專業的編輯器
5 關鍵字、語法加亮顯示 (PHP, HTML, XHTML, and JavaScript)
6 XML & CSS 的關鍵字、語法加亮顯示
7 代碼模板
8 支持 PHP 4 and PHP 5
9 代碼自動完成功能
10 PHP Code (+PHPDoc) 分析功能
11 內部調試器
12 代碼摘錄
13 PHP 代碼分析
14 遠程調試器
15 Remote Profiler
16 資料庫連接以及集成查詢,適用於MySQL、Oracle 、SQL Server、SQLite、 PostgreSQL
17CVS 集成,方便團隊開發
❹ 常用的PHP調試工具有哪些
Pinba:是個開源的 MySQL 存儲引擎,主要任務是幫助 web 開發者監控所有 PHP
腳本的性能。使用 MySQL 作為只讀介面,作為一個 PHP 的實時監控伺服器。PHP Dyn:是個令人驚奇的擴展,幫助調試 PHP
腳本。它的主要是能跟蹤執行腳本,也是一款提供給 PHP 開發者的開源軟體。Kint:是另一個調試 PHP 腳本的最好的調試工具,非常容易使用,強大,而且 PHP 的
web 開發者可以隨意定製。PHP MD:可以從源代碼中找到錯誤,並且使用一系列有限的定義規則就可以輕松解決問題。
PHP Debug Bar:是另一個非常棒的 PHP 調試工具,可以顯示
web 應用的 pst 數據。Whoops:是個更高效的 PHP
調試庫,幫助開發者構建和維護他們的項目,使其做得更好。Whoops 也是個開源軟體,有著許多傑出的特性。Xdebug:是提供給 PHP
用戶的一個擴展,有著許多高級的特性,每一時刻都有不同類型的更新。Krumo:是 PHP 調試工具的傑出代表,可以顯示任意的 PHP 變數的結構信息。
❺ php非同步調試和線上調試網站程序
php非同步調試和線上調試網站程序
php非同步調試和線上調試網站程序既方便網站程序錯誤調試,又不影響網站的正常運行的調試方法。下面是我為大家帶了的php非同步調試和線上調試網站程序,歡迎閱讀。
php非同步調試和線上調試網站程序
代碼如下
//ini_set('error_reporting',E_ALL ^ E_NOTICE);//顯示所有除了notice類型的錯誤信息
ini_set('error_reporting',E_ALL);//顯示所有錯誤信息
ini_set('display_errors',off);//禁止將錯誤信息輸出到輸出端
ini_set('log_errors',On);//開啟錯誤日誌記錄
ini_set('error_log','C:/phpernote');//定義錯誤日誌存儲位置
另外附加兩句比較常用的排除錯誤信息的PHP語句:
代碼如下
@ini_set('memory_limit','500M');//設置程序可佔用最大內存為500MB
@ini_set('max_execution_time','180');//設置允許程序最長的執行時間為180秒
補充
die()和exit()也是我們常用的php調試一個方法
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 = "http://www.111cn.net/"; fopen($site,"r") or exit("Unable to connect to $site"); ?>
<?php $site = "http://www.111cn.net/"; fopen($site,"r") or die("Unable to connect to $site"); ?>
var_mp()和print_r()
var_mp -- 列印變數的相關信息
void var_mp ( mixed expression [, mixed expression [, ...]] )
此函數顯示關於一個或多個表達式的結構信息,包括表達式的類型與值。數組將遞歸展開值,通過縮進顯示其結構。
提示: 為了防止程序直接將結果輸出到瀏覽器,可以使用輸出控制函數(output-control functions)來捕獲此函數的輸出,並把它們保存到一個例如 string 類型的變數中。
代碼如下
<?php
$a = array (1, 2, array ("a", "b", "c"));
var_mp ($a);
$b = 3.1;
$c = TRUE;
var_mp($b,$c);
?>
var_mp()可以輸出多個變數,如:var_mp($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 自身即是全局變數,其包含了指向自身的引用。
下面的幾個函數可以讓你隨時查看程序中任何變數的類型及其值。
代碼如下
function ss_array_as_string (&$array, $column = 0) {
$str = "Array(
n";
while(list($var, $val) = each($array)){
for ($i = 0; $i < $column+1; $i++){
$str .= "&nbsp;&nbsp;&nbsp;&nbsp;";
}
$str .= $var. ==>; ;
$str .= ss_as_string($val, $column+1)."
n";
}
for ($i = 0; $i < $column; $i++){
$str .= "&nbsp;&nbsp;&nbsp;&nbsp;";
}
return $str.);
}
function ss_object_as_string (&$object, $column = 0) {
if (empty($object->;classname)) {
return "$object";
}
else {
$str = $object->;classname."(
n";
while (list(,$var) = each($object->;persistent_slots)) {
for ($i = 0; $i < $column; $i++){
$str .= "&nbsp;&nbsp;&nbsp;&nbsp;";
}
global $$var;
$str .= $var. ==>; ;
$str .= ss_as_string($$var, column+1)."
n";
}
for ($i = 0; $i < $column; $i++){
$str .= "&nbsp;&nbsp;&nbsp;&nbsp;";
}
return $str.);
}
}
function ss_as_string (&$thing, $column = 0) {
if (is_object($thing)) {
return ss_object_as_string($thing, $column);
}
elseif (is_array($thing)) {
return ss_array_as_string($thing, $column);
}
elseif (is_double($thing)) {
return "Double(".$thing.")";
}
elseif (is_long($thing)) {
return "Long(".$thing.")";
}
elseif (is_string($thing)) {
return "String(".$thing.")";
}
else {
return "Unknown(".$thing.")";
}
}
❻ phpstorm 中是怎樣調試PHP
PHPStorm+XDebug配置和斷點調試
Xdebug是一個開放源代碼的PHP程序調試器(即一個Debug工具),可以用來跟蹤,調試和分析PHP程序的運行狀況。安裝和配置Xdebug大體分為三大步:
一、PHPStorm配置
1.File -> Settings -> Languages & Frameworks -> PHP
//詳情:http://www.cent123.com/thread-12-1-1.html
XDebug]
zend_extension="E:phpStudyphpphp-5.6.27-ntsextphp_xdebug.dll"</p><p>xdebug.profiler_append=0
xdebug.profiler_enable=0
xdebug.trace_enable_trigger=1
xdebug.profiler_enable_trigger=1
xdebug.profiler_output_dir="E:phpStudy mpxdebug"
xdebug.trace_output_dir="E:phpStudy mpxdebug"
;xdebug.profiler_output_name="cachegrind.out.%t-%s"
xdebug.profiler_output_name="callgrind.out.%t-%s"
xdebug.remote_enable=1
xdebug.remote_handler="dbgp"
xdebug.remote_host="127.0.0.1"
這個帖子很詳細http://www.cent123.com/thread-12-1-1.html
❼ eclipse 怎麼調試php啊
. 下載eclipse,從官網上找就可以了,並確認當前系統中有java環境,即jdk和jre。
2. 安裝pdt了,採用的是在線安裝,更新地址在默認中已經包含了。只是更新起來比較麻煩。(如果直接下載 攜帶PDT的 Eclipse版本,可省略)
3. 下載調試器,調試器有兩種,一種時xdebug,另一種時zenddebug。
採用 xdebug
下載下來的應該是源代碼包。解壓縮,然後cd到目錄,然後phpize,有的時候可能沒有這個程序,運行sudo apt-get install
php5-dev,就可以了。然後就會出現熟悉的config程序 ./configure 出現一連串黑白屏字元,接著make,make
install。後兩項命令執行的時候,可能會需要sudo許可權,因為涉及到將程序文件復制到系統目錄。
4.
在/etc/php5/apache2/conf.d/中建立一個xdebug.ini文件,可以用vi或者其他文本程序,加入如下的配置項目。配置內容如下:
代碼如下:
[xdebug]
zend_extension="/usr/lib/php5/20090626+lfs/xdebug.so"
xdebug.remote_handler=dbgp
xdebug.remote_port=9000
xdebug.auto_trace=on
xdebug.collect_params=on
xdebug.collect_return=on
xdebug.max_nestring_level=100
xdebug.profile_enable=on
xdebug.remote_enable=on
xdebug.remote_host=localhost
xdebug.trace_output_dir="/tmp"
xdebug.profile_output_dir="/tmp"
xdebug.idekey=webide
xdebug.mode=re
放到這個目錄中的ini文件會被php自動載入。
至此,xdebug的安裝配置已經完成。
5. 打開eclipse,然後選擇window preference , 先配置服務選項:
先配置debug,選擇php選擇debug,將php的debugger選擇為xDebug。接著配置Server,
選擇PHP
Servers,然後彈出菜單:然後點擊new,在Name處隨便選擇一個名字,url配置成調試的主url。
然後設置成default。
最後配置PHP
Executables,add 隨便起個名字,path設置成/usr/bin/php
然後設置ini的位置在/etc/php5/apache2/php.ini
最後將PHP debugger設置成為XDebug就可以了。
❽ php調試工具
PHP編程「調試」首推firePHP。
firephp,火狐的一個附件組件,依賴firebug,列印值是顯示在firebug控制台的。它有兩個常用語法,1、直接輸出fb($obj); 2、跟蹤變數來源fb($obj,TRACE);
安裝使用說明:
1、安裝火狐瀏覽器
2、安裝firebug附件組件
3、安裝firephp附件組件
4、下載firephp的PHP文件(fb.php和FirePHP.class.php)
5、在項目中引入fb.php,它會自動引入FirePHP.class.php,因此只需(require $dirToFirephp.'/fb.php'即可。
6、使用1,在你需要知道變數$variable的值時,在項目中加一行fb($variable);即可。此時要保證你的firebug處於啟用狀態,F12可以快速啟用firebug。
7、使用2,在你需要知道變數$variable的根源時,在項目中加一行fb($variable,TRACE);即可。它會幫你顯示從項目起始執行到當前行的每一個關聯行。