Я устанавливаю LEMP-сервер в ubuntu 12.04 LTS 64 whit HHVM Fastcgi Service, и я устанавливаю laravel через laravel.phar (и тестирую с помощью композитора тоже), когда на моем сайте в brwoser не отображается какая-либо ошибка, но в Chrome-консоли разработчика получается ошибка 500
Я не вижу ошибки в файле error.log (laravel – hhvm, nginx)
Разрешения для хранилища – 777
и мой файл nginx.conf и vhosts имеют базовую конфигурацию
когда я использую команду PHP CLI или hhvm, она работает хорошо
спасибо за помощь мне 🙂
мой блок местоположения
location ~ \.(hh|php)$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_keep_conn on; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params;
Проблема с HHVM заключается в том, что она не показывает много ошибок, вы должны следить за журналами ошибок HHVM или Laravel.
Вы хотите обратить пристальное внимание на свои журналы ошибок. По умолчанию HHVM не сообщает об ошибках браузерам.
Проверьте журналы HHVM!
$ tail -n 50 -f /var/log/hhvm/error.log
Проверьте свои журналы Laravel!
$ tail -n 50 -f /path/to/laravel/app/storage/logs/laravel.log
ссылка на конфигурацию
Создайте файл /etc/nginx/hhvm.conf
если он еще не существует. Вставьте ff:
location ~ \.(hh|php)$ { fastcgi_keep_conn on; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
Затем включите его в конфигурацию виртуального хоста nginx.
например. /etc/nginx/sites-available/laravel
и /etc/nginx/sites-available/laravel
Теперь добавьте это для Laravel, отредактируйте при необходимости:
server { listen 80 default_server; root /vagrant/laravel/public; index index.html index.htm index.php; server_name localhost; access_log /var/log/nginx/localhost.laravel-access.log; error_log /var/log/nginx/locahost.laravel-error.log error; charset utf-8; location / { try_files \$uri \$uri/ /index.php?\$query_string; } location = /favicon.ico { log_not_found off; access_log off; } location = /robots.txt { log_not_found off; access_log off; } error_page 404 /index.php; include hhvm.conf; # INCLUDE HHVM HERE # Deny .htaccess file access location ~ /\.ht { deny all; } }
Затем перезагрузите Nginx:
$ sudo service nginx reload
Поскольку заголовок X-Powered-By
установлен HHVM, я предполагаю, что ваш NGINX настроен правильно. Ошибка 500 в основном исходит из синтаксической ошибки или исключения, созданного в вашем приложении. Возможно, ваши настройки fastcgi в NGINX по-прежнему ошибочны. Что находится внутри location *\.php
блока?
Попытайтесь создать менее подверженную ошибкам настройку и запустить php artisan serve
для локального размещения вашего проекта.
Вы можете изменить класс исключения дескриптора Laravel для отображения ошибок, пока используется HHVM.
Полная информация здесь: https://github.com/laravel/framework/issues/8744#issue-76454458
Я проверил это и хорошо работает на Laravel 5.2 / 5.3 на Homestead с HHVM.