Начиная с laravel на ubuntu
Я пытаюсь использовать laravel как фреймворк PHP, я уже извлек zar laravel в ~/opt/xampp/htdocs/laravel
, но когда я перехожу к localhost/laravel
или localhost/laravel
, я получаю сообщение об ошибке 403:
Доступ запрещен!
У вас нет разрешения на доступ к запрашиваемому объекту. Он либо защищен от чтения, либо не читается сервером.
Я где-то читал, что мне нужно отредактировать папку storage
внутри laravel, чтобы ее можно было читать и записывать, поэтому я chmod -R 766 laravel/storage
, но мне все же не повезло, я делаю это из Ubuntu 12.04, кто-нибудь столкнулся с этим?
РЕДАКТИРОВАТЬ
У меня есть chmod -R 0+w laravel/storage
, и теперь, когда я перехожу к localhost/laravel
, я получаю индекс некоторых файлов там, но когда я иду на localhost/laravel/public/
, все еще получаю ошибку 403 вместо ожидаемого результата
РЕДАКТИРОВАТЬ 2
Я установил chmod -R 765 laravel/public
, и теперь, когда я доберусь до localhost/laravel/public
, я получаю это сообщение, которое заставляет меня поверить, что я становлюсь ближе:
Предупреждение: require (/opt/lampp/htdocs/learning-laravel/laravel/laravel.php): не удалось открыть поток: разрешение отклонено в /opt/lampp/htdocs/learning -laravel/public/index.php on строка 34
Неустранимая ошибка: require(): Требуется неудачное открытие '/opt/lampp/htdocs/learning-laravel/laravel/laravel.php' (include_path = '.:/opt/lampp/lib/php') в /opt/lampp/htdocs/learning -laravel/public/index.php в строке 34
Ответы
Ответ 1
Окончательное обновление
Я, наконец, решил, что произошло то, что папка laravel
была защищена от чтения, мне нужно было установить chmod 755 -R laravel
, а затем chmod -R o+w storage
и voila, у меня был larvel и работает, благодаря всем, кто внес вклад.
Ответ 2
для начала запуска с laravel, я просто делаю следующие шаги:
sudo chmod -R 770 /your/path/to/laravel/folder/
затем добавьте группу www-data в ваш laravel
sudo chgrp -R www-data /your/path/to/laravel/folder/
Ответ 3
На правильном пути, после установки laravel, вам необходимо убедиться, что каталог хранения имеет правильные разрешения:
sudo chmod o+w storage
Затем убедитесь, что вы обслуживаете свою общую папку, а не папку larvel в apache document root
<VirtualHost *:80>
DocumentRoot /Users/JonSnow/Sites/MySite/public
ServerName mysite.dev
</VirtualHost>
Оба требования описаны здесь
Ответ 4
На форуме Laravel Kaspien дал следующие полезные ответы:
У вас есть chmod 777, но только в папке хранения/представлений, чтобы использовать лезвие, которое, как представляется, является механизмом представления, используемым по умолчанию видом Laravel. Я обычно chmod 777 все папки хранения /* на новой установке Laravel, прежде чем я начну проект, так как они должны быть доступны для записи для просмотров, сеансов и т.д.
Из потока: http://forums.laravel.com/viewtopic.php?id=1552
Ответ 5
Измените права на папки хранения и начальной загрузки, например
sudo chmod -R 777 ./storage ./bootstrap
Ответ 6
В файле .htaccess:
RewriteRule ^index.php(.*)$ /public/index.php [L]