临时屏蔽Warning错误

<?php
declare(strict_types=1);
ini_set('display_errors', 'On');
error_reporting(-1);

$errorReportingOld = error_reporting(); // 记录原来的error_reporting设置
error_reporting($errorReportingOld & ~E_WARNING); // 临时屏蔽Warning错误

$url = 'https://www.example.com/dir/filename.html';

$contents = file_get_contents($url); // 这里因为页面不存在,会报Warning错误

error_reporting($errorReportingOld); // 恢复原来的error_reporting设置

if ($contents === false) {
    $error = error_get_last(); // 获取最后发生的错误
    echo 'type    => ' . ($error['type'] ?? 'N/A') . PHP_EOL;
    echo 'message => ' . ($error['message'] ?? 'N/A') . PHP_EOL;
    echo 'file    => ' . ($error['file'] ?? 'N/A') . PHP_EOL;
    echo 'line    => ' . ($error['line'] ?? 'N/A') . PHP_EOL;
}


//========== 总结 ==========//
// 1、生产环境下务必屏蔽所有错误信息。

Copyright © 2024 码农人生. All Rights Reserved