php抑制錯誤的方法:1、開啟對應的php檔案;2、使用@運算子來抑制單一錯誤,抑制語法如「@include ('config.inc.php');」;3 、將@符號用於那些執行失敗時不會影響腳本整體功能的函數。
本教學操作環境:Windows7系統、PHP8.1版、Dell G3電腦。
php 怎麼抑制錯誤?
利用@來抑制錯誤
在PHP中,可以使用@運算子來抑制單一錯誤。例如,如果不希望PHP報告它不包括某個文件,則可以編寫如下程式碼:
@include ('config.inc.php');
或如果不希望看到「除以0」錯誤:
$x = 8; $y = 0; $num = @($x/$y);
像函數調用或數學運算一樣,@符號只能處理表達式。不能在條件語句、循環語句、函數定義等之前使用@符號。
一條經驗法則是,我建議將@符號用於那些執行失敗時不會影響腳本整體功能的函數。或者,在你自己可以更優雅地處理PHP的錯誤時可以抑制錯誤。
一些開源軟體中使用到@抑制錯誤的部分程式碼:
//code from phpbb3(common.php) // If we are on PHP >= 6.0.0 we do not need some code if (version_compare(PHP_VERSION, '6.0.0-dev', '>=')) { /** * @ignore */ define('STRIP', false); } else { @set_magic_quotes_runtime(0); // Be paranoid with passed vars if (@ini_get('register_globals') == '1' || strtolower(@ini_get('register_globals')) == 'on' || !function_exists('ini_get')) { deregister_globals(); } define('STRIP', (get_magic_quotes_gpc()) ? true : false); } //code from phpbb3(style.php) $dir = @opendir("{$phpbb_root_path}styles/{$theme['theme_path']}/theme"); //code from phpbb3(adm/index.php) if (file_exists($phpbb_root_path . $cfg_array[$config_name]) && !@is_writable($phpbb_root_path . $cfg_array[$config_name])) { $error[] = sprintf($user->lang['DIRECTORY_NOT_WRITABLE'], $cfg_array[$config_name]); } //code from phpbb3(functions.php) if (($fh = @fopen('/dev/urandom', 'rb'))) { $random = fread($fh, $count); fclose($fh); }
推薦學習:《PHP影片教學》
以上是php 怎麼抑制報錯的詳細內容。更多資訊請關注PHP中文網其他相關文章!