在bash脚本中执行symfony命令

时间:2019-01-04 13:59:07

标签: bash cron command apache2 symfony4

cron中运行bash脚本时,我无法执行symfony命令。 当我手动执行.sh脚本时,一切工作正常。

在我的bash文件中,命令是这样执行的:

/usr/bin/php -q /var/www/pww24/bin/console pww24:import asari $office > /dev/null

我从根目录运行脚本,cron也设置为根目录。为了进行测试,我将文件权限设置为777,并添加了+x来执行。

bash脚本执行正常。就像跳过命令一样,但是从日志中我可以看到代码已执行

1 个答案:

答案 0 :(得分:0)

原来,我存储在服务器上的symfony系统变量还不够。从命令行开始执行命令就可以了,但是使用Cron时,您需要在.env文件中使用它们。事实证明,在大量集成的过程中,我只得到了.env.dist文件,无论如何我都必须制作.env文件。 另外,我在cron中添加了两行:

PATH=~/bin:/usr/bin/:/bin
SHELL=/bin/bash

然后从bash文件中运行我的命令:

sudo /usr/bin/php -q /var/www/pww24/bin/console pww24:import asari $office > /dev/null