用 PHP 軟件開發(fā)網(wǎng)站的時候,信息提示是一個重要的功能。我們通過信息提示讓程序更加健康、高效,并且錯誤提示更加清晰明了。下面是我們想要在網(wǎng)站中使用的 PHP 信息提示的相關問題。
首先,我們想了解如何使用 PHP 查看設定的錯誤信息。當 PHP 執(zhí)行錯誤時,我們需要在 PHP 配置文件 php.ini 中設定錯誤顯示的級別。不同級別的錯誤信息顯示的數(shù)量和詳細程度是不同的。如下是一個常常被使用的字符串。
ini_set('display_errors','On'); error_reporting(E_ALL);
第一行代碼將錯誤信息的顯示打開,否則它將不被顯示。第二行代碼設置 PHP 告知所有類型的錯誤信息。在開發(fā)和調試階段,我們可以將此操作開啟;然后,當程序運行時,可以收到任何級別的錯誤信息。
在 PHP 中告知的錯誤信息,通常會在 HTTP 響應中返回,如果瀏覽器看到了這個錯誤會對用戶造成困擾。為了避免這種情況發(fā)生,我們也可以通過日志來記錄 PHP 的錯誤信息,這些信息可以以比較隱蔽的方式記錄下來,也不會對用戶造成影響。
error_reporting(E_ALL); ini_set('log_errors','On'); ini_set('error_log','/var/log/www/err.log');
這里,我們就告知 PHP 所有類型的錯誤。然后,設置一些參數(shù)來記錄錯誤信息,如:啟動錯誤日志記錄、設定錯誤日志文件的存儲位置。現(xiàn)在,所有的錯誤信息將被記錄在 /var/log/www/err.log 文件中。
接下來,我們關心如何使用自定義錯誤處理程序。當錯誤發(fā)生的時候,PHP 會調用名為 handler 的函數(shù)。在這個 handler 函數(shù)內部,程序員可以自定義錯誤處理代碼,處理完這些代碼,我們也可以將行程控制重新傳遞給 PHP 使用內部的錯誤處理程序進行處理。
//定義錯誤處理函數(shù) function myErrorHandler($errno, $errstr, $errfile, $errline){ echo "<b>自定義錯誤處理:</b>[$errno] $errstr in $errfile 第 $errline 行<br />"; //不此 this 程序將停止 return true; } //再定義另一個錯誤處理函數(shù) function myErrorHandler2($errno, $errstr, $errfile, $errline){ echo "<b>第二個自定義錯誤處理函數(shù)</b>[$errno] $errstr in $errfile 第 $errline 行<br />"; //關掉錯誤處理,讓程序自動處理錯誤 return false; } //定制錯誤處理函數(shù):notice 以及 warning set_error_handler("myErrorHandler",E_USER_NOTICE | E_USER_WARNING); //發(fā)生錯誤 echo($test); //取消 set_error_handler restore_error_handler(); //再設置錯誤處理函數(shù):所有類型的錯誤 set_error_handler("myErrorHandler2"); //再次發(fā)生錯誤 echo($test); //恢復 PHP 標準的處理函數(shù) restore_error_handler();
掌握 PHP 信息提示的多種方法,能夠幫助 Web 開發(fā)者準確定位錯誤信息,及時修復錯誤。錯誤信息提示的清晰程度,是有助于提高開發(fā)效率,優(yōu)化用戶體驗,加強網(wǎng)站安全性的。所以有必要對錯誤信息提示有詳細了解,以便在編程的過程中能夠更加得心應手。