Я устанавливал Laravel много раз в ОС Windows, но такого типа проблем не возникало. Этот 500 внутренних серверов обычно возникает, когда ваш модуль "mod_rewrite" не включен.
Однако, на Ubuntu 14.04 эта проблема дает мне головную боль. Я установил rewrite_mod, но он также не работает. Я предоставил доступ ко всем моим папкам и файлам внутри i.e.
/вар/WWW/HTML/laravel_project
Тем не менее это не работает. Изменен .htaccess также от оригинала к этому.
+FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
У меня есть все необходимые расширения, необходимые для Laravel 5+. Осталось что-то, чего я не делал?
Наконец-то преодолел проблему
Для решения проблемы я запустил следующие команды через терминал.
sudo chmod -R 755 laravel_blog
а затем введите ниже, чтобы Laravel записать файл в папку хранения
chmod -R o+w laravel_blog/storage
Эти две команды решили проблему.
После установки прогона под командой
sudo chmod 755 -R laravel
chmod -R o+w laravel/storage
здесь "laravel" - это имя каталога, в котором установлена laravel
composer install
sudo chmod -R 755 laravel
расположение -R неверно
Я исправил с помощью этой команды:
rm -rf app/storage/logs/laravel.logs
chmod -R 777 app/storage,
php artisan cache:clear,
php artisan dump-autoload OR composer dump-autoload
Чем перезапустить сервер или XAMPP или другой, и это должно работать.
Я столкнулся с подобной ошибкой. Я проверил журнал в /var/log/apache2/error.log
и нашел UnexpectedValueException
Я изменил владельца на пользователя apache папки хранения в каталоге проекта.
sudo chown -R www-data:www-data ./storage
В моем случае владелец процесса apache2 www-data
, поэтому измените его на ваш, это можно найти в файле конфигурации apache2. Надеюсь, это вам полезно.
Может другое решение этой проблемы:
Установите необходимые пакеты, выполнив команду composer из корня проекта:
sudo composer install
ОБНОВИТЬ:
Новичок, но это то, что я сделал, потому что у меня не было ключа
Создал файл .env, а также запустил
php artisan key:generate
Это сработало для меня после вытаскивания проекта git
Попробуйте проверить, есть ли у вас файл .env
.
В основном эта вещь может вызвать что-то подобное. Попробуйте создать файл, затем скопируйте все из .env.example
, вставьте его в созданный файл и назовите его .env
. или просто переименуйте файл .env.example
в .env
и выполните php artisan key:generate
Иногда возникает проблема с версией php. Нам нужно изменить версию php с сервера. Просто напишите ниже строку в файле .htaccess:
AddHandler application/x-httpd-php5 .php
У меня были установлены PHP 7.0 и PHP 7.1, и я использовал PHP 7.1 в командной строке, а PHP 7.0 был включен в Apache, что может привести к проблемам при использовании Laravel Framework и localhost Apache2 с laravel.
Сначала проверьте ваш файл композитора, чтобы увидеть версию PHP.
"php": "^7.1.3",
"laravel/framework": "5.6.*",
Проверьте вашу текущую версию PHP в командной строке
php -v
Проверьте вашу текущую версию php на Apache, я сделал с помощью браузера.
http://localhost
Если это не то же самое, отключите текущую версию и включите самую новую.
sudo a2dismod php7.2
sudo a2enmod php7.1
sudo service apache2 restart
После этого измените права доступа к папке
sudo chmod 755 -R blog
для хранения папки
chmod -R o+w blog/storage
Запустите эти две команды в каталоге, где установлен Laravel:
sudo chmod 755 -R DIRECTORY_NAME
chmod -R o+w DIRECTORY_NAME/storage
Затем очистите кеш и сбросьте автозагрузку:
php artisan cache:clear
composer dump-autoload
Я сталкивался с этой проблемой много раз. Попробуйте один из этих шагов, это мне очень помогло. Может быть, это также поможет вам.
Для тех из вас, кто любит меня, все еще есть ошибки после попытки ответить на все остальные вопросы:
Проверьте версию php apache, последняя версия laravel работает только с php7.1. Итак, вы должны:
sudo a2dismod php[yourversion]
sudo a2enmod php7.1
sudo systemctl restart apache2
надеюсь это поможет
У меня похожая проблема с хостом общего ресурса. У меня была ошибка 500 Я только что исправил, проверив версию Laravel и версию PHP. Ошибка была в том, что Laravel 5.6 не работает на PHP 7.0.x Когда я это узнал, я просто перенастроил проект на Laravel 5.5, который совместим с PHP 7.0.x, теперь все правильно. Другая причина, по которой у меня иногда возникают проблемы, - это то, что по FTP я получаю поврежденные файлы и вынужден загружать проект более одного раза. Надеюсь, что это поможет в будущем, я не нашел так много информации в этой теме.
Сначала разрешите все разрешения для вашей папки проекта (предположим, что это называется laravel), для подпапки хранилища и подкаталога журналов и для подпапки поставщика (laravel/storage, laravel/storage/logs и laravel/vendor).
Затем проверьте, есть ли у вас файл .env - если вы не можете запустить:
$ mv .env.example .env
чтобы переименовать ваш встроенный .env.example в необходимый .env.
В противном случае включите режим отладки - откройте .env и установите
APP_DEBUG=true
и откройте laravel/config/app.php и измените
'debug' => env('APP_DEBUG', false),
к
'debug' => env('APP_DEBUG', true),
чтобы вы могли узнать, в чем причина вашей ошибки.
Помимо перечисленных выше причин, есть и другие причины, по которым laravel может дать 500 внутренних ошибок сервера. Включая отсутствующий или старый CSRF, синтаксическую ошибку, конфигурацию прошивки .htaccess и т.д. Здесь представлен весь список https://abbasharoon.me/how-to-fix-laravel-ajax-500-internal-server-error/
Запустите эти две команды в корневом каталоге laravel
найти * -тип d -print0 | xargs -0 chmod 0755 # для каталогов
найти. -тип f -print0 | xargs -0 chmod 0644 # для файлов
Частая проблема при использовании git:
Laravel .gitignore ignores the .env file which when missing generates this error
Решил это, вручную добавив файл .env на сервер или загрузив его через FTP
Измените разрешение веб-папки только с помощью этой команды:
sudo chmod 755 -R your_folder
Я столкнулся с этой проблемой и исправил обновление своей версии php в apache до 5.6.x
Из-за отсутствия права писать каталог журнала.
Хранилище chmod 755 -R
Удостоверьтесь, что папка с напитком с предикатом записи (chmod o + w) работает для меня как шарм.
В соответствии с журналами:
[06-Feb-2016 22:38:48 Europe/Berlin] PHP Warning: require(/Users/tomsihap/Documents/Development/mamp/partie_1_exo/bootstrap/../vendor/autoload.php): failed to open stream: No such file or directory in /Users/tomsihap/Documents/Development/mamp/partie_1_exo/bootstrap/autoload.php on line 17
[06-Feb-2016 22:38:48 Europe/Berlin] PHP Fatal error: require(): Failed opening required '/Users/tomsihap/Documents/Development/mamp/partie_1_exo/bootstrap/../vendor/autoload.php' (include_path='.:/Applications/MAMP/bin/php/php7.0.0/lib/php') in /Users/tomsihap/Documents/Development/mamp/partie_1_exo/bootstrap/autoload.php on line 17
[06-Feb-2016 22:43:37 Europe/Berlin] PHP Warning: require(/Users/tomsihap/Documents/Development/mamp/partie_1_exo/bootstrap/../vendor/autoload.php): failed to open stream: No such file or directory in /Users/tomsihap/Documents/Development/mamp/partie_1_exo/bootstrap/autoload.php on line 17
[06-Feb-2016 22:43:37 Europe/Berlin] PHP Fatal error: require(): Failed opening required '/Users/tomsihap/Documents/Development/mamp/partie_1_exo/bootstrap/../vendor/autoload.php' (include_path='.:/Applications/MAMP/bin/php/php7.0.0/lib/php') in /Users/tomsihap/Documents/Development/mamp/partie_1_exo/bootstrap/autoload.php on line 17
Есть некоторые отказы, открывающие файлы в папке /vendor.
Установив и обновив с помощью композитора, я смог наконец решить проблему.
sudo composer install
sudo composer update
+FollowSymLinks
вверху? Должны бытьOptions +FollowSymLinks
.