0

我有这个问题,我想执行一个 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 命令。

亲切的问候,

皮姆

4

1 回答 1

0

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

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

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

于 2015-05-25T14:07:34.680 回答