前言:這里的調(diào)試方法是指找錯誤,和分析錯誤的方法。
成都創(chuàng)新互聯(lián)專注于咸豐網(wǎng)站建設服務及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供咸豐營銷型網(wǎng)站建設,咸豐網(wǎng)站制作、咸豐網(wǎng)頁設計、咸豐網(wǎng)站官網(wǎng)定制、微信平臺小程序開發(fā)服務,打造咸豐網(wǎng)絡公司原創(chuàng)品牌,更為您提供咸豐網(wǎng)站排名全網(wǎng)營銷落地服務。測試代碼最好打開php錯誤報告,方法有兩種一種是在php.ini里面設置。另外一種是使用函數(shù)error_reporting。打開php.ini找到error_reporting修改成error_reporting = ALL;當然我們當初是拷貝的開發(fā)那份,所以是默認打開的,如果你的關閉了只要修改這里就好了。reporting也有等級區(qū)分。以后在介紹php.ini的時候詳細介紹。
另外如果命令行模式我們一般會加上
在命令行下試試下面的代碼吧
將這段代碼保存到d:/www/test/a.php然后到cmd中運行php d:/www/test/a.php看看效果吧
php調(diào)試
錯誤1語法錯誤:這類錯誤最容易定位,無論是web程序還是命令行程序,都會給出出錯的行,然后你根據(jù)出錯的行去修改調(diào)試,直到正確。還記得emacs C+c r今天再教大家一個C+c d 修改.emacs文件在以下代碼的上方
加入
在(define-key php-mode-map [(control c) (r)] ‘php-run)下一行加入(define-key php-mode-map [(control c) (d)] ‘php-debug)
然后重啟emacs打開一個php文件輸入<?php echo “我是個錯誤的示范” echo ;?>試試C+c d吧是否提示錯誤啦。
錯誤2沒有運行:這類錯誤是指運行過程中中斷了,調(diào)試這類錯誤我通常是在有可能出錯的地方前后加入echo “num”;比如如下代碼
也許你對&&理解有誤導致了這個問題,上面的代碼將輸出13而2沒有輸出所以是if判斷有問題。
錯誤3算法錯誤:這類錯誤簡而言之就是結果和你預期不符合,這樣的錯誤比較難找原因。你需要清晰的邏輯,首先你要知道每一行代碼對運算結果的影響,一行一行的輸出看看哪一行輸出不是預期結果。
二、輸出輸出單行用echo,print。為了輸出美觀點,一般在命令行模式比如你在用C+c r調(diào)試的時候一般在后面跟著輸出”n”比如<?php echo “測試輸出n”;echo “測試輸出n”;?>而在web調(diào)試的時候輸出”<br />”比如<?php echo “測試輸出<br />”;echo “測試輸出<br />”;?>
輸出其他類型可以用var_dump、print_r、var_export,當然這些函數(shù)也可以打印字符串,只是多打幾個字母而已。其中var_dump和var_export類似只是打印出數(shù)組或對象的字符串形式,而var_dump還會打印出變量的類型,而print_r打印出的內(nèi)容更容易閱讀。試試下面的代碼吧。
上例中的最后三行,顯示了幾種常見用法。即字符串中有和包裹字符串的引號相同時使用反斜杠來區(qū)分比如”我是”雙引號”" ’\'我是單引號”,如果單引號和雙引號混用時要注意包裹范圍。字符串和字符串之間用.來鏈接。
這里告訴大家一個更加實用的函數(shù)
這樣在web輸出的時候也能夠容易讀一點只要把這段代碼放到要運行的php之前即可。
為了調(diào)試方便一般會再輸出后面加上exit;讓代碼停止運行。
三、區(qū)別正式環(huán)境和測試環(huán)境有時候需要正式環(huán)境和測試環(huán)境內(nèi)容不同,一個方法是在apache收到請求的時候就在環(huán)境里面告訴php是測試環(huán)境還是正式環(huán)境。就是在虛擬主機里面配置SetEnv ENV “dev”在php代碼中可以用$_SERVER[\'ENV\']取得dev這個值當然ENV和dev都是自定義的。這樣就可以區(qū)分是什么環(huán)境了。
另外有時候你想再正式環(huán)境運行代碼,但是又不能讓普通用戶看到你的測試代碼怎么辦呢??梢栽诘刂泛竺婕?__DEBUG__=1來區(qū)分,因為普通用戶瀏覽的時候不會知道還有這個參數(shù)。而你可以用$_GET[\'__debug__\']==1來判斷是不是測試用的。當然__DEBUG__ 和 1是自定義的,你可以選任何你知道。
新聞名稱:php調(diào)試方法
轉載源于:http://muchs.cn/article44/cjphee.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營銷、品牌網(wǎng)站設計、品牌網(wǎng)站制作、自適應網(wǎng)站、網(wǎng)站設計、品牌網(wǎng)站建設
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)