我检查了我的PHP ini文件(PHP.ini),并设置了display_errors,错误报告也是E_ALL。我已重新启动Apache Web服务器。

我甚至把这些行放在了脚本的顶部,它甚至不能捕捉到简单的解析错误。例如,我用“$”声明变量,而不关闭语句“;”。但我的所有脚本都显示了这些错误的空白页面,但我希望在浏览器输出中看到这些错误。

error_reporting(E_ALL);
ini_set('display_errors', 1);

还有什么要做?


当前回答

要显示所有错误,您需要:

1.在从浏览器(通常是index.PHP)调用的PHP脚本中包含以下行:

error_reporting(E_ALL);
ini_set('display_errors', '1');

2.(a)确保此脚本没有语法错误

—or—

2.(b)在php.ini中设置display_errors=打开

否则,它甚至无法运行这两条线!

您可以通过运行(在命令行)检查脚本中的语法错误:

php -l index.php

如果包含另一个PHP脚本中的脚本,那么它将在包含的脚本中显示语法错误。例如:

索引php

error_reporting(E_ALL);
ini_set('display_errors', '1');

// Any syntax errors here will result in a blank screen in the browser

include 'my_script.php';

my_script.php

adjfkj // This syntax error will be displayed in the browser

其他回答

上面的代码应该可以工作:

error_reporting(E_ALL);

但是,请尝试在文件中编辑手机上的代码:

error_reporting =on

要显示所有错误,您需要:

1.在从浏览器(通常是index.PHP)调用的PHP脚本中包含以下行:

error_reporting(E_ALL);
ini_set('display_errors', '1');

2.(a)确保此脚本没有语法错误

—or—

2.(b)在php.ini中设置display_errors=打开

否则,它甚至无法运行这两条线!

您可以通过运行(在命令行)检查脚本中的语法错误:

php -l index.php

如果包含另一个PHP脚本中的脚本,那么它将在包含的脚本中显示语法错误。例如:

索引php

error_reporting(E_ALL);
ini_set('display_errors', '1');

// Any syntax errors here will result in a blank screen in the browser

include 'my_script.php';

my_script.php

adjfkj // This syntax error will be displayed in the browser

我通常会在我的普通PHP项目中使用以下代码。

if(!defined('ENVIRONMENT')){
    define('ENVIRONMENT', 'DEVELOPMENT');
}

$base_url = null;

if (defined('ENVIRONMENT'))
{
    switch (ENVIRONMENT)
    {
        case 'DEVELOPMENT':
            $base_url = 'http://localhost/product/';
            ini_set('display_errors', 1);
            ini_set('display_startup_errors', 1);
            error_reporting(E_ALL);
            break;

        case 'PRODUCTION':
            $base_url = 'Production URL'; /* https://google.com */
            error_reporting(E_ALL);
            ini_set('display_errors', 0);
            ini_set('display_startup_errors', 0);
            ini_set('log_errors', 1); // Mechanism to log errors
            break;

        default:
            exit('The application environment is not set correctly.');
    }
}

如果您正在执行SharedHosting计划(如hostgator)。。。简单地添加

php_flag display_errors 1

插入.htaccess文件并将其上载到远程文件夹可能不会产生服务器上生成的实际警告/错误。

您还需要编辑php.ini

这是通过cPanel(在hostgator共享主机上测试)实现的计划)

登录cPanel后,搜索MultiPHP INI编辑器。它通常位于cPanel项目列表中的“软件”部分。

在MultiPHP INI编辑器页面上。。。您可以停留在基本模式选项卡上,只需选中行中显示displayerrors的按钮。然后单击应用按钮保存。

重要事项:只需记住在完成调试时将其关闭;因为这不建议用于公共服务器。

一些web托管提供商允许您更改.htaccess文件中的PHP参数。

可以添加以下行:

php_value display_errors 1

我和你有同样的问题,这个解决方案解决了这个问题。