我有这个问题,我想执行一个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'不允许操作'并且在那之后,mkdir导致“权限被拒绝”。
我该如何解决这个问题。当我在特定的导演上使用ls -la时,我希望可写,我得到以下内容:
4 drwxr-xr-x 9 nobody nobody
有人可以帮我解决这个问题吗?
b.t.w。我使用shell_exec在PHP中执行CLI命令。
亲切的问候,
皮姆
答案 0 :(得分:0)
在你的命令行动中你应该有这样的东西:
$dir = '/your/path';
if (!is_dir($dir))
mkdir($dir, 0777, true);
然后,使用命令php yiic yourCommand运行cron(用户运行命令的用户是什么?),该目录应该在/ your / path中创建