【问题标题】:Resizing batch of images with with yiic cronjob使用 yiic cronjob 调整批量图像的大小
【发布时间】:2014-07-29 12:00:23
【问题描述】:

我有这个问题,我想执行一个 cronjob,但是当我手动运行 cron 进行测试时,我遇到了权限问题。

我正在使用 Yii 框架,并使用 Yiic 调用 cronjob。我想创建一个目录结构,其中每个目录都包含一个图像。所以我们得到这样的:

/dir/id/  
/dir/id/imgsize-1  
/dir/id/imgsize-2  
/dir/id/imgsize-3

它变得更加复杂,因为它可能是 imgsize-3 存在而 imgsize-1 不存在。 /dir/id/ 可能是不可写的(0755 perms),所以我首先需要检查父目录(/dir/id/)是否可写。如果是这样,我应该可以使用 mkdir 来创建 dir 'imgsize-1' 或我目前的想法。

但现在出现的问题是,如果我想使用 chmod 使父目录可写,我会收到错误“chmod: 'path/to/dir' operation not allowed”,然后 mkdir 会导致“Permission denied” '。

我该如何解决这个问题。当我在要使其可写的特定目录上使用 ls -la 时,我得到以下信息:

 4 drwxr-xr-x     9 nobody nobody

有人可以帮我解决这个问题吗?

顺便说一句。我使用 shell_exec 在 PHP 中执行 CLI 命令。

亲切的问候,

皮姆

【问题讨论】:

    标签: php permissions cron chmod yiic


    【解决方案1】:

    在你的命令动作中你应该有这样的东西:

    $dir = '/your/path';
    if (!is_dir($dir))
        mkdir($dir, 0777, true);
    

    然后,使用命令 php yiic yourCommand 运行 cron(你运行命令的用户是什么?),目录应该在 /your/path 中创建

    【讨论】:

      猜你喜欢
      • 2018-12-22
      • 2011-03-11
      • 2014-04-19
      • 1970-01-01
      • 1970-01-01
      • 2012-07-17
      • 2016-10-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多