我目前正在运行一个加载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上试过这个,但同样的错误。
答案 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并且脚本工作。