提问者:小点点

如何使用crontab执行Symfony命令


我发现了两个类似的问题,但没有得到帮助。

当我输入时,我有一个Symfony命令正在工作:

/usr/bin/php /home/bob/example_project/bin/console app:slack

我试图用sudo crontab-e制作一个crontab(每分钟运行一次):

MAILTO=""

* * * * * /usr/bin/php /home/bob/example_project/bin/console app:slack

但它不起作用。我也找不到任何错误消息sudo grep CRON/var/log/syslog给出:

4月10日13:21:01示例_项目CRON[23432]:(root)CMD(/usr/bin/php/home/bob/example_项目/bin/console应用程序:slack)

使用sudo crontab-e-u bobsudo crontab-e-u www-data不会改变任何东西。

我到底做错了什么?

  • 编辑日志文件。日志包含以下内容:

PHP致命错误:未捕获Symfony\Component\Debug\Exception\ClassNotFoundException:试图从命名空间“Sensio\Bundle\Gene$加载类“SensioGeneratorBundle”您是否忘记了“使用”“另一个名称空间的语句?在/home/bob/example_project/app/AppKernel.php中:25堆栈跟踪:0/home/bob/example_project/vendor/symfony/symfony/src/symfony/Component/HttpKernel/Kernel.php(403):AppKernel-


共1个答案

匿名用户

有一个环境问题。这修复了它:

SYMFONY_ENV=prod

* * * * * php /home/bob/example_project/bin/console app:slack

没有必要为PHP的完整路径,/usr/bin/php

如评论中所述,这也适用于:

* * * * * php /home/bob/example_project/bin/console app:slack -e prod