【问题标题】:php shell_exec($cmd) do not run in a cronjobphp shell_exec($cmd) 不在 cronjob 中运行
【发布时间】:2017-10-25 13:59:59
【问题描述】:

很抱歉(我相信)这个糟糕的问题,但谷歌和本论坛中的其他文章无法帮助我......

我将运行一个包含以下代码的 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

我认为这可能是权限问题,但我是这方面的新手,不知道在哪里可以设置权限以及我必须做什么。

谁能帮帮我?!

【问题讨论】:

  • 尝试在命令中使用应用程序的绝对路径。有什么变化吗?

标签: php exec shell-exec cyberduck


【解决方案1】:

Cron 作业没有获得通常可用的正常 PATH 环境变量。

尝试使用“鸭子”命令的绝对路径。

例子:

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

要查找绝对路径,可以键入

which duck

在正常的命令提示符下

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多