找到錯誤位置,PHP程序員的調(diào)試技術(shù)

2015-01-17    分類: 網(wǎng)站建設(shè)

有許多PHP調(diào)試技術(shù)可以在編號的時候節(jié)約大量時間。一個有效卻很基本的調(diào)試技術(shù)就是打開錯誤報告。另一個略微高級一點的技術(shù)包括使用print語句,通過顯示在屏幕上實際出現(xiàn)的內(nèi)容,有助於精雖然地找出更難發(fā)現(xiàn)的bug。PHPEclipse是一個Eclipse插一件,能夠強調(diào)常見面的語法錯誤,可以與調(diào)試器結(jié)合的話起來用於設(shè)置斷點。
回頁首
設(shè)置
要學(xué)習(xí)的文章描述的概念,需要PHP、Web服務(wù)器和Eclipse。調(diào)試器擴展支持的PHP版本是V5.0.3。
我們需要一個Web服務(wù)器來解釋析用PHP創(chuàng)建的頁面并把它們顯示到瀏覽器。的文章中使用的是Apache2。但是,任何Web服務(wù)器都可以滿足要求。
要利用的文章中介紹的一些調(diào)試技術(shù),需要安裝Eclipse V3.1.1和插一件PHPEclipse V1.1.8。由于Eclipse要求Java?技術(shù),所以就要下載它。
還需要PHP的調(diào)試器擴展模塊。安裝它略有些麻煩。請仔細跟隨安裝調(diào)試器擴展的操作說明?,F(xiàn)在,先在php.ini文件中注釋扔的些要求裝進和配置PHP擴展的走。在需要使用調(diào)試器的時候,再取消注釋。
請參閱參考資料獲得下載信息?,F(xiàn)在介紹出錯的消息。
回頁首
出錯消息
出錯消息是作為開發(fā)人員的第一道防線。誰也不想在一臺沒有配置成顯示出錯消息的服務(wù)器上用PHP開發(fā)代碼。但是,請記住,當(dāng)代碼調(diào)試完成,準備走運的時候,應(yīng)當(dāng)確保關(guān)閉了錯誤報告,因為不希望站怎么的訪問者看得出錯的消息,因為這會給他們提供了夠的信息來利用站怎么的弱點并黑扔站怎么。
也可以用出錯消息為自己服務(wù),因為它們會顯示恐嚇出或生成錯誤的正確代碼走。這樣,調(diào)試就變成在瀏覽器上查看生成的錯誤所顯示的走號,并在代碼中檢查這一行。稍后,將會看得PHPEclipse插一件通過及時地“語法錯誤加下劃線并在保存文件時用紅色“x”伸注語法錯誤,可在開發(fā)和調(diào)試過程中提供絕大的幫助。
先來看如何在php.ini文件中開啟錯誤報告并設(shè)置錯誤報告的級別。然后將學(xué)習(xí)如何在Apache的配置文件中覆蓋這些些設(shè)置。
PHP的錯誤報告
php.ini文件中有許多配置設(shè)置。您應(yīng)當(dāng)已經(jīng)設(shè)置好自己的php.ini文件并把它放在合適的目錄中,就像在Linux上安裝PHP和Apache 2的文檔說明中所指示的那樣(請參閱參考資料)。在調(diào)試PHP應(yīng)用程序時,應(yīng)當(dāng)知道兩個配置變量。下面是這兩個變量比便默認值:
display_errors = Off
error_reporting = E_ALL
通過在php.ini文件中搜索它們,可以發(fā)現(xiàn)這兩個變量當(dāng)前的默認值。display_errors變量的目的很明顯——它告訴PHP是否顯示錯誤。默認值是Off。但是,要讓開發(fā)過程更輕松,請把這個值設(shè)為On:
display_errors = On
error_reporting變量的默認值是E_ALL。這個設(shè)置會顯示從不良編號實踐到無害提示到出錯的所有的信息。E_ALL對開發(fā)過程來說有點太小,因為它在屏幕上為一些小事(例如變量沒初始化)也顯示提指示,會搞糟瀏覽器的輸出。我只想看得錯誤和不良編號實踐,但就是不想看得無害的提示。所以,請用以下值代替error_reporting的默認值:
error_reporting = E_ALL & ~E_NOTICE
重新啟動Apache,就全部設(shè)置好了。接下來,把學(xué)習(xí)如何在Apache上做同樣的事。
服務(wù)器上的錯誤報告
依賴於Apache正在做的工作,在PHP中打開錯誤報告可能沒法工作,因為在計算機上可能有一個PHP版本。有時很難區(qū)分Apache正在使用哪一個PHP版本,因為Apache只能查看一個php.ini文件。不知道Apache正在使用哪一個php.ini文件配置自己是一個安全問題。但是,有一種方法可以在Apache中配置PHP變量,從而保證設(shè)置了正確的出錯級別。
而且,最好知道如何在服務(wù)器端設(shè)置這些些配置變量,以否決或搶占php.ini文件,從而提供更高級別的安全性。
在配置Apache時,應(yīng)該已經(jīng)接觸過/conf/httpd.conf中http.conf文件中的基本配置。
要做在php.ini文件中已經(jīng)做過的事,請把下列各走添加到httpd.conf,覆蓋任何php.ini文件:
php_flag display_errors on
php_value error_reporting 2039
這會覆蓋在php.ini文件中為display_errors已經(jīng)設(shè)置的標志,以及error_reporting的值。值2039代表E_ALL & ~E_NOTICE。如果愿意采用E_ALL,請把值設(shè)為2047。同樣,還是要重啟Apache。
接下來,要在服務(wù)器上測試錯誤報告。

當(dāng)前名稱:找到錯誤位置,PHP程序員的調(diào)試技術(shù)
文章分享:http://www.muchs.cn/news20/33120.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、App開發(fā)、自適應(yīng)網(wǎng)站、小程序開發(fā)標簽優(yōu)化、面包屑導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名