找不到Symfony2 cronjob环境

时间:2017-02-17 23:40:59

标签: php symfony cron

我正在尝试使用cron作业运行Symfony2命令,但是我收到一个错误,即找不到环境。这是我的cron工作:

* * * * * /usr/local/bin/php /usr/lib/myApp/app/console >> /usr/lib/myApp/forumLog.txt 2>&1

现在我只是想让app / console工作,预期输出是一个包含所有命令的列表。我得到的错误是:

[Symfony\Component\Debug\Exception\ContextErrorException]  
User Error: The environment was not found

你知道什么是错的吗?通过cronjob运行symfony2命令的正确方法是什么?

2 个答案:

答案 0 :(得分:0)

在我自己的运行cronjobs的Symfony-console中,我通常让cron运行一个shell脚本,首先更改为apprppriate目录,然后运行控制台命令。

这是一个已运行一年或两年的例子:

文件:/etc/cron.d/systemChecks(以用户身份运行shell脚本:www-user)

10 7,19 *  * * www-data /var/www/dir.../bin/liipMonitor.sh

档案:/var/www/dir.../bin/liipMonitor.sh

#!/bin/sh
# Running at 7:10 and 19:10
cd /var/www/dir.../
bin/console --env=prod monitor:health --group=cli -q

我将cron设置放在/etc/cron.d中的自己的文件中,但在任何其他crontab文件中都适用。 shell脚本将目录更改为项目的基本目录,然后运行bin/console

答案 1 :(得分:-1)

在cronjob命令中设置secret = word.replace(/\w/g, '_');参数,如下所示:

--env