我试过在php文件中编写下面的命令,然后从控制台和crontab运行那个php文件。我在php文件中的代码就像
#!/usr/bin/php -q
<?php
system ("/usr/local/sbin/googletts-cli.pl -o /var/lib/asterisk/sounds/asdapp/test.wav -s 0.9 -l en -t 'Some text is written here'");
?>
如果我从consol运行这个php文件,那么它工作正常并生成wav文件。但是如果我把那个php文件放在crontab中
* * * * * /var/lib/asterisk/agi-bin/asdapp/jagu_test.php
然后它没有生成wav文件。
我也尝试过以下链接中提供的解决方案:
Why is crontab not executing my PHP script?
PHP script works from command line, not from cron
我尝试过各种方法从crontab运行这个php文件,但是无法取得任何成功。任何人都知道究竟是什么问题或任何解决方案?
答案 0 :(得分:0)
从crontab和命令行执行的命令具有不同的环境变量,工作路径和用户(如果没有另外指定)。
此外,您只是为了调用系统命令而调用PHP解释器。将这一行放在crontab本身会容易得多:
* * * * * /usr/local/sbin/googletts-cli.pl -o /var/lib/asterisk/sounds/asdapp/test.wav -s 0.9 -l en -t 'Some text is written here'