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


Running PHP script on Perl or sh error. Not found

我目前正在运行一个加载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

在我的外壳上,它可以工作。

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

#!/usr/bin/php -v

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

我错过了什么吗?

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

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

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

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

完全忘记了这个问题。找到了解决方案。
我刚刚添加了SHELL=/bin/bash在crontab中,脚本工作了。