首頁  >  文章  >  後端開發  >  php 怎麼抑制報錯

php 怎麼抑制報錯

藏色散人
藏色散人原創
2022-11-21 10:10:201747瀏覽

php抑制錯誤的方法:1、開啟對應的php檔案;2、使用@運算子來抑制單一錯誤,抑制語法如「@include ('config.inc.php');」;3 、將@符號用於那些執行失敗時不會影響腳本整體功能的函數。

php 怎麼抑制報錯

本教學操作環境: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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn