当出现明显错误时,PHP并不总是显示错误

时间:2014-08-06 13:29:40

标签: php

我遇到了一个奇怪的问题,即在出现明显错误时没有显示错误。

这会按预期抛出错误:

<?php

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

hurrrrr

?>

然而,这不会,只会返回一个空白页......

<?php

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

HUUURRRR

include('../includes/simple_html_dom.php');

$html = file_get_html('www.hurrrr.com');
foreach($html->find('.Hurrrrrrr') as $element) {
    echo $element->plaintext . '<br />';
}


?>

2 个答案:

答案 0 :(得分:2)

PHP主要运行两个&#34;传递&#34;。

  1. 解析代码。

  2. 运行代码。

  3. 如果无法解析代码(hurrrrr),则无法运行 如果无法运行,则无法设置display_errorserror_reporting 如果无法设置,则无法显示错误。

    这就是为什么最好在php.ini文件中设置这些文件(或者用于您的设置的任何配置文件)。确实display_startup_errors无法通过ini_set()进行设置,因为在调用ini_set时,启动已经完成!

答案 1 :(得分:2)

您必须更改php.ini中的display_errors设置。

如果您在localhost并使用WAMP,右键单击WAMP图标并选择php.ini可能无法解决您的问题,因为您应该转到wamp/bin/php*/php.ini并更改此文件。