我正在尝试使用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命令的正确方法是什么?
答案 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