ОбзорApache не может писать на пути
Я использую Laravel 4.2 с функцией загрузки изображения. Я настроил его на Homestead, но недавно я удалил Nginx и вместо этого использовал сайт Apache (из-за необходимости использования событий, отправленных сервером).
Прежде чем я перешел из Nginx в Apache, функция загрузки файлов работала нормально. Он также отлично работает на промежуточном сервере с Apache.
Ошибка
Я использую библиотеку изображений Intervention для обработки загрузки изображений. Когда я пытаюсь загрузить файл, я получаю следующее в моем laravel.log
файле:
Can't write image data to path (/home/vagrant/projects/projectname/public/assets/pics/profile/photos/f55f0ae2-2d1a-4fdd-b9be-39d8a509baa3.jpg)
Что я Пробовал
Я думал, что это была только простое разрешение ошибок. Я зашел так далеко, чтобы chmod
моих asset
каталогов 0777
, изменить владельца каталога для www-data
, создать новую группу под названием web
с www-data
и изменить владельца группы к тому, что (в основном все в this answer и более) и до сих пор это Безразлично Не работай.
Каталог определенно существует, и, как я уже упоминал, он работал до перехода на Apache (я не совсем уверен, связано ли это, но кажется вероятным).
Мой /var/log/apache2/error.log
также пуст.
Промежуточный сервер работает нормально, но я не хочу сталкиваться с той же проблемой при создании рабочего сервера. Я хотел бы исправить проблему и понять ее больше, поэтому я могу ее исправить, если я когда-нибудь столкнусь с ней в будущем. Почему это происходит и что я могу сделать, чтобы исправить это/отладить дальше?
Права доступа Пример папки
drwxr-xr-x 1 vagrant vagrant 272 Jan 26 11:07 assets/pics
drwxr-xr-x 1 vagrant vagrant 170 Jan 26 10:11 assets/pics/defaults
drwxr-xr-x 1 vagrant vagrant 714 Jan 26 14:10 assets/pics/forums
drwxr-xr-x 1 vagrant vagrant 646 Jan 26 14:10 assets/pics/forums/thumbs
drwxr-xr-x 1 vagrant vagrant 170 Jan 20 18:02 assets/pics/gallery
drwxr-xr-x 1 vagrant vagrant 3026 Jan 26 13:24 assets/pics/messages
drwxr-xr-x 1 vagrant vagrant 2992 Jan 26 13:24 assets/pics/messages/thumbs
drwxr-xr-x 1 vagrant vagrant 136 Jan 8 17:27 assets/pics/profile
drwxr-xr-x 1 vagrant vagrant 136 Feb 10 14:48 assets/pics/profile/photos
drwxr-xr-x 1 vagrant vagrant 102 Feb 10 14:51 assets/pics/profile/photos/thumbs
По какой-то причине владелец/группа до сих пор vagrant
, даже когда я chown
их. Я пробовал с sudo chown
и делаю sudo -s
.
Просто чтобы убедиться, что ты использовать (рекурсивный) опцию '-r' при запуске' chmod' и/или 'chgrp' на' assets' реж? Поскольку поддиры также нуждаются в одинаковых разрешениях.Попробуйте запустить '' cd/home/vagrant/projects/projectname/public && ls -dl 'find assets/-type d''' и опубликовать вывод. – Bogdan
Вы проверили разрешения конкретной папки? '/ home/vagrant/projects/projectname/public/assets/pics/profile/photos /' У меня была очень похожая проблема, прежде чем я подумал, что рекурсивный 'chmod' изменил все разрешения своих подкаталогов, но были еще несколько отставших. Иногда также, если другой системный пользователь создает свой собственный каталог или файл, он имеет свои собственные разрешения по умолчанию, которые различны. Если вы можете найти этого пользователя, добавьте Apache в свою группу. – cchapman
@Bogdan @ cchapman900 Я обновил свой вопрос, чтобы включить выход разрешений папки. По какой-то причине владелец по-прежнему «бродяжничает» ... – Sacha