В настоящее время я строю систему Laravel 5.1, которая автоматически развертывается на нескольких серверах в несколько этапов (локальная, тестовая и производственная). К сожалению, у меня проблема с оптимизированным загрузчиком классов. Во время развертывания Composer запускается и через файл composer.json две команды php artisan clear-compiled
и php artisan optimize
работают без проблем.Отключить оптимизированный загрузчик классов в Laravel?
Моя проблема заключается в том, что Laravel в течение некоторого времени во время выполнения страницы пытается записать в /bootstrap/cache/services.json
, но это не сработает, поскольку (системный) пользователь, создавший эту папку, не совпадает с пользователем, который пытается записать на file (Также не имеет смысла, что он пытается оптимизировать, так как файл оптимизатора уже создан).
- Можно ли отключить оптимизатор класса «на лету»? (И если это так, каковы последствия?)
Перед тем, как «вы должны просто изменить права доступа ...», я хотел бы указать, что в настоящее время это не жизнеспособное решение. Все versionized, поэтому папка на сервере называется что-то вроде server/project/20151122192701/laravel
, и я не думаю, что наши технические парни интересуются изменения прав доступа каждый раз, когда мы совершаем производство :)