我使用的是PHP5.3命名空间类。一个常见的错误是没有正确处理名称空间(绝对与相对,例如''App''Models''Something与Models''Someth与''Something)。我通常在类中使用PDO,因此PHP尝试在'App'PDO
中查找,例如
我已经有了
ini_set('display_errors', 'ON');
ini_set('error_reporting', 'E_ALL | E_STRICT');
我有时在做时会注意到
$user = new User(); // when User should be located 'App'User or App'User as I am in the root namespace, PHP does not trigger errors ... just give me a blank screen ...
两行都错了:
ini_set('display_errors', true);
ini_set('error_reporting', E_ALL | E_STRICT);
值不应该用引号括起来。
第二个参数中的单引号是错误的。它被评估为0。
ini_set('error_reporting', 'E_ALL | E_STRICT');
// same as:
ini_set('error_reporting', 0);
有关可以作为第二个参数传递的内容的一些有效示例,请参阅本页。
一旦你修复了,你会得到:
PHP Fatal error: Class 'Foo' not found
您的代码应该是这样的:
ini_set('display_errors', 1);
ini_set('error_reporting', E_ALL | E_STRICT);
此外,确认是否允许您通过ini_set()
更改php设置,因为您可能认为您正在更改display_errors
和error_reporting
,但可能不允许。也就是说,尽管您的代码执行,但解析器不会考虑您的设置。