Изменение размера пакета изображений с помощью yiic cronjob

У меня есть эта проблема, я хочу выполнить cronjob, но когда я запускаю cron вручную для тестирования, я получаю проблемы с разрешениями.

Я использую фреймворк Yii и вызываю cronjob с помощью Yiic. Я хочу создать структуру каталогов, где каждый каталог содержит изображение. Итак, мы получаем вот так:

/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 приводит к 'Permission denied'.

Как я могу решить это. Когда я использую ls -la для конкретной директории, которую я хочу сделать доступной для записи, я получаю следующее:

 4 drwxr-xr-x     9 nobody nobody

Есть кто-то, кто может мне помочь с этим?

Кстати, я выполняю CLI-команды в PHP с shell_exec.

С уважением,

Пим

1 ответ

В вашем командном действии у вас должно быть что-то вроде этого:

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

Затем, запустив cron (с каким пользователем вы запускаете команду?) С помощью команды php yiic yourCommand, каталог должен быть создан в /your/path

Другие вопросы по тегам