在cron
中运行bash脚本时,我无法执行symfony命令。
当我手动执行.sh脚本时,一切工作正常。
在我的bash文件中,命令是这样执行的:
/usr/bin/php -q /var/www/pww24/bin/console pww24:import asari $office > /dev/null
我从根目录运行脚本,cron
也设置为根目录。为了进行测试,我将文件权限设置为777,并添加了+x
来执行。
bash脚本执行正常。就像跳过命令一样,但是从日志中我可以看到代码已执行
答案 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