php程序調試,php程序調試包括代碼測試

本文目錄一覽:

php 如何調試

用xedebug調試。安裝phpstudy,在php擴展管理里勾上xdebug,自動打開xdebug。phpstudy支持26種組合一鍵切換。

php 代碼如何調試

開啟Apache伺服器以及MY_SQL資料庫。

在PHP集成環境的安裝目錄「www」文件夾中創建我們需要用到的php文件,1.php.

用Notepad++打開1.php文件,然後輸入PHP的語言格式:

?php ?

輸入標準的輸出語言:

?php

echo “Hello world !” //輸出Hello world 語言。 echo 是列印的意思

?

在網頁上輸入localhost:8080/1.php可以調試我們自己寫的php代碼

PHP的簡單運算,用$來定義應用數據,輸出也是一樣。

?php

$sum=1;

$total=1.22;

$sum=$total+$sum;

echo $sum ?

有哪些 PHP 調試技巧?

有許多 PHP 調試技術可以在編碼的時候節約大量時間。一個有效卻很基本的調試技術就是打開錯誤報告。另一個略微高級一點的技術包括使用 print 語句,通過顯示在屏幕上實際出現的內容,有助於精確地找出更難發現的 bug。PHPEclipse 是一個 Eclipse 插件,能夠強調常見的語法錯誤,可以與調試器結合起來用於設置斷點。

設置

要學習本文描述的概念,需要 PHP、Web 伺服器和 Eclipse。調試器擴展支持的 PHP 版本是 V5.0.3。

我們需要一個 Web 伺服器來解析用 PHP 創建的頁面並把它們顯示到瀏覽器。本文中使用的是 Apache2。但是,任何 Web 伺服器都可以滿足要求。

要利用本文中介紹的一些調試技術,需要安裝 Eclipse V3.1.1 和插件 PHPEclipse V1.1.8。由於 Eclipse 要求 Java™ 技術,所以還要下載它。

還需要 PHP 的調試器擴展模塊。安裝它略有些麻煩。請仔細跟隨安裝調試器擴展的操作說明。現在,先在 php.ini 文件中注釋掉那些要求裝入和配置 PHP 擴展的行。在需要使用調試器的時候,再取消注釋。

請參閱 參考資料 獲得下載信息。現在介紹出錯消息。

出錯消息

出錯消息是作為開發人員的第一道防線。誰都不想在一台沒有配置成顯示出錯消息的伺服器上用 PHP 開發代碼。但是,請記住,當代碼調試完成,準備運行的時候,應當確保關閉了錯誤報告,因為不希望站點的訪問者看到出錯消息,因為這會給他們提供足夠的信息來利用站點的弱點並黑掉站點。

也可以用出錯消息為自己服務,因為它們會顯示拋出或生成錯誤的正確代碼行。這樣,調試就變成在瀏覽器上查看生成的錯誤所顯示的行號,並在代碼中檢查這一行。稍後,將會看到 PHPEclipse 插件通過即時地給語法錯誤加下劃線並在保存文件時用紅色 「x」 標註語法錯誤,可在開發和調試過程中提供極大的幫助。

先來看如何在 php.ini 文件中開啟錯誤報告並設置錯誤報告的級別。然後將學習如何在 Apache 的配置文件中覆蓋這些設置。

PHP 的錯誤報告

php.ini 文件中有許多配置設置。您應當已經設置好自己的 php.ini 文件並把它放在合適的目錄中,就像在 Linux 上安裝 PHP 和 Apache 2 的文檔說明中所示的那樣(請參閱 參考資料)。在調試 PHP 應用程序時,應當知道兩個配置變數。下面是這兩個變數及其默認值:

複製代碼代碼如下:

display_errors = Off

error_reporting = E_ALL

通過在 php.ini 文件中搜索它們,可以發現這兩個變數當前的默認值。display_errors 變數的目的很明顯 —— 它告訴 PHP 是否顯示錯誤。默認值是 Off。但是,要讓開發過程更加輕鬆,請把這個值設為 On:

複製代碼代碼如下:

display_errors = On

error_reporting 變數的默認值是 E_ALL。這個設置會顯示從不良編碼實踐到無害提示到出錯的所有信息。E_ALL 對於開發過程來說有點太細,因為它在屏幕上為一些小事(例如變數未初始化)也顯示提示,會搞糟瀏覽器的輸出。我只想看到錯誤和不良編碼實踐,但是不想看到無害的提示。所以,請用以下值代替 error_reporting 的默認值:

複製代碼代碼如下:

error_reporting = E_ALL ~E_NOTICE

重新啟動 Apache,就全部設置好了。接下來,將學習如何在 Apache 上做同樣的事。

伺服器上的錯誤報告

依賴於 Apache 正在做的工作,在 PHP 中打開錯誤報告可能沒法工作,因為在計算機上可能有多個 PHP 版本。有時很難區分 Apache 正在使用哪個 PHP 版本,因為 Apache 只能查看一個 php.ini 文件。不知道 Apache 正在使用哪個 php.ini 文件配置自己是一個安全問題。但是,有一種方法可以在 Apache 中配置 PHP 變數,從而保證設置了正確的出錯級別。

而且,最好知道如何在伺服器端設置這些配置變數,以否決或搶佔 php.ini 文件,從而提供更高級別的安全性。

在配置 Apache 時,應該已經接觸過 apache2-install-dir/conf/httpd.conf 中 http.conf 文件中的基本配置。

要做在 php.ini 文件中已經做過的事,請把下列各行添加到 httpd.conf,覆蓋任何 php.ini 文件:

複製代碼代碼如下:

php_flag display_errors on

php_value error_reporting 2039

這會覆蓋在 php.ini 文件中為 display_errors 已經設置的標誌,以及 error_reporting 的值。值 2039 代表 E_ALL ~E_NOTICE。如果願意採用 E_ALL,請把值設為 2047。同樣,還是要重啟 Apache。

接下來,要在伺服器上測試錯誤報告。

測試錯誤報告

如果啟動了錯誤報告,會節約許多時間。PHP 中的錯誤會指向代碼中的錯誤。請創建一個簡單的 PHP 文件 test.php,並像清單 1 所示一樣定義它。

原創文章,作者:OUGC,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/143945.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
OUGC的頭像OUGC
上一篇 2024-10-24 15:27
下一篇 2024-10-24 15:27

相關推薦

  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智慧、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29
  • Python字元串寬度不限制怎麼打代碼

    本文將為大家詳細介紹Python字元串寬度不限制時如何打代碼的幾個方面。 一、保持代碼風格的統一 在Python字元串寬度不限制的情況下,我們可以寫出很長很長的一行代碼。但是,為了…

    編程 2025-04-29
  • python強行終止程序快捷鍵

    本文將從多個方面對python強行終止程序快捷鍵進行詳細闡述,並提供相應代碼示例。 一、Ctrl+C快捷鍵 Ctrl+C快捷鍵是在終端中經常用來強行終止運行的程序。當你在終端中運行…

    編程 2025-04-29
  • Python基礎代碼用法介紹

    本文將從多個方面對Python基礎代碼進行解析和詳細闡述,力求讓讀者深刻理解Python基礎代碼。通過本文的學習,相信大家對Python的學習和應用會更加輕鬆和高效。 一、變數和數…

    編程 2025-04-29
  • Python程序文件的拓展

    Python是一門功能豐富、易於學習、可讀性高的編程語言。Python程序文件通常以.py為文件拓展名,被廣泛應用於各種領域,包括Web開發、機器學習、科學計算等。為了更好地發揮P…

    編程 2025-04-29
  • Python滿天星代碼:讓編程變得更加簡單

    本文將從多個方面詳細闡述Python滿天星代碼,為大家介紹它的優點以及如何在編程中使用。無論是剛剛接觸編程還是資深程序員,都能從中獲得一定的收穫。 一、簡介 Python滿天星代碼…

    編程 2025-04-29
  • 倉庫管理系統代碼設計Python

    這篇文章將詳細探討如何設計一個基於Python的倉庫管理系統。 一、基本需求 在著手設計之前,我們首先需要確定倉庫管理系統的基本需求。 我們可以將需求分為以下幾個方面: 1、庫存管…

    編程 2025-04-29
  • 寫代碼新手教程

    本文將從語言選擇、學習方法、編碼規範以及常見問題解答等多個方面,為編程新手提供實用、簡明的教程。 一、語言選擇 作為編程新手,選擇一門編程語言是很關鍵的一步。以下是幾個有代表性的編…

    編程 2025-04-29

發表回復

登錄後才能評論