在Perl上运行PHP脚本或sh错误。未找到

时间:2016-02-17 12:22:19

标签: php bash perl shell cron

我目前正在运行一个加载php脚本的cron作业 我一直收到错误,sh 1 /usr/bin/php: not found. 我尝试了其他两种方式但无济于事。 在perl脚本上。我试过了。

my $x = qx('/usr/bin/php /home/script.here');

这不会生成任何内容,并在我的邮件上向我发送错误消息。 但是,如果我运行

/usr/bin/php /home/script.here

在我的shell上,它有效。

我还创建了一个脚本1.sh并且有了这个。

#!/usr/bin/php -v

我运行脚本./1.sh并显示结果。但是一旦我尝试通过cron或/bin/sh 1.sh调用它,它就会失败并且即使明确说明也无法找到php路径。

我错过了什么吗?

我也在php5上试过这个,但同样的错误。

2 个答案:

答案 0 :(得分:0)

问题是qx()运算符中的单引号。删除它们:

my $x = qx(/usr/bin/php /home/script.here);

只要他们在那里,shell就会尝试在目录“script.here”中找到命令“/usr/bin/php /home”(是的,目录名中的空格)。

答案 1 :(得分:0)

完全忘了这个问题。 找到了解决方案 我刚才补充道 在crontab中SHELL = / bin / bash并且脚本工作。