我正在使用gregor(Create cronjob with Zend Framework)的方法大纲来为我的应用程序的某些部分创建命令行执行,例如cron作业,管理任务等。但是,当我创建一个尚未定义的新对象(拼写错误)和其他此类错误时,它不会报告任何错误。
我原以为php会报错,但是它会无声地失败。这是什么原因?有没有更好的方法来实现我的目标?或者我如何实现这一点,以便我可以看到错误?
非常感谢!
以下是代码:
in public / index.php
if(!defined('RUN_APP') || RUN_APP == true)
{
$application->bootstrap()->run();
}
应用/ cron.php
define("RUN_APP",false);
require(realpath('/var/www/domain/public/index.php'));
$application->bootstrap();
//the rest
答案 0 :(得分:0)
我明白了。我会回答,以防其他人在寻找。我不确定为什么会这样,但是,推出:
ini_set('display_errors', 'on');
在“cron.php”文件的顶部就可以了。我想你可以扔一个:
error_reporting(E_ALL|E_STRICT);
好的措施。令人费解的是,我在不使用命令行时遇到这些错误,而且我的index.php或bootstrap.php中没有上述行。因此,它们被设置在zend框架中的其他位置。也许bootstrap中的“phpSettings.display_errors = 1”与它有关。