Изменение размера пакета изображений с помощью 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