首页 >后端开发 >php教程 >为什么我的 PHP 错误和警告没有显示?

为什么我的 PHP 错误和警告没有显示?

Barbara Streisand
Barbara Streisand原创
2024-12-20 21:06:11831浏览

Why Aren't My PHP Errors and Warnings Showing Up?

PHP:显示所有错误和警告

PHP 提供了在代码执行期间报告错误和警告的功能。默认情况下,并非所有错误和警告都会显示在 Web 浏览器中。

为什么错误和警告可能不会显示在 PHP 页面上

  • display_errors 指令设置为Off
  • error_reporting php.ini 中不包含 E_ALL 或 E_STRICT
  • 使用输出缓冲,但不使用输出缓冲刷新

故障排除

  1. 检查 php.ini

    确保

    display_errors 指令设置为On:

    display_errors = On
    设置

    error_reporting 以包含 E_ALL 和 E_STRICT:

    error_reporting = E_ALL | E_STRICT
  2. 使用 error_reporting()

    在您的脚本中,您可以使用error_reporting() 函数指定应报告的错误和警告的级别:

    error_reporting(E_ALL);
  3. 检查输出缓冲

    如果输出正在使用缓冲,请确保在将任何输出发送到之前将其刷新browser:

    <?php
    // Enable output buffering
    ob_start();
    ?>
    
    <?php
    // Flush any buffered output
    ob_end_flush();
    ?>
  4. 检查 PHP 错误日志

    即使错误和警告未显示在 Web 浏览器上,它们通常也会显示记录到文件(通常位于 /var/log/php-error.log 或 /var/log/apache2/error.log)。您可以检查此文件是否存在任何报告的问题。

附加说明

    PDO 类有一个名为 setAttribute() 的方法,该方法允许您设置错误模式。将其设置为 PDO::ERRMODE_EXCEPTION 将导致 PDO 在错误时抛出异常。
  • 您可以使用 PDOStatement::errorInfo() 获取 PDOStatement 的错误消息。

以上是为什么我的 PHP 错误和警告没有显示?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn