Symfony не может создать каталог журналов

Я развертываю Symfony на веб-сервере и после развертывания хочу очистить кеш. Сейчас я использую umask 0000, чтобы обойти любые потенциальные проблемы с разрешениями (я делаю очистку под пользователем deploument и запускаю сайт под пользователем apache).

я использую /var/symfony/cache/projectname/branchname/environment а также /var/symfony/log/projectname/branchname/environment как dirs сохранить кеш и логи. Они настроены в AppKernel.php файл.

Когда я развертываю (используя ‘php bin / console cache: clear —env = prod —no-debug’), я получаю сообщение:

[RuntimeException] Невозможно создать каталог журналов ()

Я сделал прикосновение, чтобы создать файл в / var / symfony / log / dir, и он работал нормально, так что есть какая-то идея, почему команда очистки кеша не работает?

Мы используем липкий бит из /var/symfony/ dir до установки разрешений как drwxrws--t так что, когда мы делаем кеш очищенным как пользователь развертывания, он может установить пользователя как apache и сгруппировать как www с ними обоими в группе www.

0

Решение

Кажется, что Symfony не создаст структуру каталогов для хранения журналов (хотя, похоже, для кеша). Это означает, что каталог журналов (в данном случае /var/symfony/log/projectname/branchname/environment/ должен существовать до очистки кеша.

В моем случае, чтобы обойти это, я буду запускать проверку в моем сценарии развертывания (оболочки), чтобы убедиться, что каталог существует, и создать его, если он не существует.

ПРИМЕЧАНИЕ. Если вы перейдете на сайт (и права доступа правильные), он создаст каталог журналов. Однако, если вы используете консольную команду очистки кэша, она не создаст путь и потерпит неудачу.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]