エラー レポートを抑制する
php メソッド: 1. 対応する php ファイルを開きます; 2. @ 演算子を使用して 1 つのエラーを抑制します。抑制構文は次のとおりです: "@include ('config.inc.php' );"; 3. 実行の失敗がスクリプトの全体的な機能に影響を与えない関数には @ 記号を使用します。
このチュートリアルの動作環境: Windows 7 システム、PHP バージョン 8.1、Dell G3 コンピューター。
php エラー報告を抑制するにはどうすればよいですか?
@ を使用してエラーを抑制する
PHP では、@ 演算子を使用して個々のエラーを抑制できます。たとえば、特定のファイルが含まれていないことを PHP に報告させたくない場合は、次のようなコードを記述できます。
@include ('config.inc.php');
または、「0 による除算」を表示したくない場合は、 " error:
$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 中国語 Web サイトの他の関連記事を参照してください。