php shell_exec($ cmd)不在cronjob中运行

时间:2017-10-25 14:00:00

标签: php exec shell-exec cyberduck

抱歉(我相信)可怜的问题,但谷歌和本论坛的其他文章无法帮助我...

我将运行一个php脚本,其中包含以下代码:

    $cmd="duck  -u user_name -p pwd -parallel 1 -e overwrite -y --throttle 1024 --upload path to remote file absolute_path_to_local_file";
    $shellResponse=shell_exec($cmd);

当我在浏览器中调用这个php文件时,这很有效。 但是当我在cronjob中调用脚本时,它失败了。

使用cronjob我会得到以下错误消息:

sh:1: duck not found

我认为这可能是一个权限问题,但我在这个领域是新手,并且不知道我可以在哪里设置权限以及我必须做什么。

有人可以帮助我吗?!

1 个答案:

答案 0 :(得分:3)

Cron作业无法获得通常可用的正常PATH env变量。

尝试使用'duck'命令的绝对路径。

示例:

$cmd = "/usr/bin/duck ..."

要查找绝对路径,您可以输入

which duck

在正常的命令提示符