У меня возникли проблемы с получением прав. Я пытаюсь запустить его в локальной среде на моем Mac через XAMPP.
Я пробовал следующее:
- Выполнение маскировки
- Настройка разрешений
- Очистка кеша через
php app/console cache:clear
У меня возникли проблемы с получением прав. Я пытаюсь запустить его в локальной среде на моем Mac через XAMPP.
Я пробовал следующее:
php app/console cache:clear
rm -rf app/cache/*
rm -rf app/logs/*
sudo chmod +a "www-data allow delete,write,append,file_inherit,directory_inherit" app/cache app/logs
sudo chmod +a "`whoami` allow delete,write,append,file_inherit,directory_inherit" app/cache app/logs
Убедитесь, что пользователь www-data заменен пользователем, которым работает ваш веб-сервер. Узнайте, какой пользователь выполняет ваш веб-сервер, выполнив команду:
ps aux | grep http
или
ps aux | grep apache
Вам также может потребоваться включить ACL. Дополнительную информацию см. В Документация по установке и см. эту страницу для получения информации об ACL.
При запуске Symfony из командной строки кешированные файлы/каталоги создаются пользователем, с которым вы вошли в систему - в вашем случае - "jess". При запуске веб-страницы в вашем браузере они создаются пользователем веб-сервера - в вашем случае пользователь "никто". У вашего пользователя нет доступа к файлам и файлам, созданным веб-сервером, и наоборот.
Изменение вашего веб-сервера для запуска как того же пользователя, что и ваш логин, не является идеальным решением, так как оно не очень безопасно, и у вас все еще будет такая же проблема, если вы разместите свой сайт на другом сервере.
Решение состоит в том, чтобы убедиться, что вы выполнили раздел "Настройка разрешений" документации по установке в http://symfony.com/doc/current/book/installation.html.
Убедитесь, что вы указали rm -rf содержимое папки, а не только кеш-приложение/консольный кеш: очистите, так как команда symfony clear cache создаст dirs/files, которые по-прежнему недоступны для записи на вашем веб-сервере.
В общем, вы должны запустить свой веб-сервер от того же пользователя, что и php5-cli. И папка, в которой находится ваш проект, должна иметь все разрешения для этого пользователя.
Вы должны либо change user for project directory
, либо просто chmod -R 777 app/cache
и chmod -R 777 app/logs
См. раздел "Настройка разрешений" в разделе "Конфигурация и настройка" . Используйте подход ACL с setfacl
.
Я получил эту ошибку, и я пробовал все эти советы без успеха...
В конечном итоге я нахожу решение, дезактивируя seLinux. Для этого отредактируйте файл "/etc/selinux/config" и замените значение SELINUX на
SELINUX=disabled