我在ubuntu 12.04 LTS 64中安装了LEMP服务器 whit HHVM Fastcgi服务 我通过laravel.phar安装laravel(并通过作曲家测试) 当在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;
答案 0 :(得分:6)
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
现在为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
答案 1 :(得分:0)
由于HHVM设置了X-Powered-By
标头,我假设您的NGINX配置正确。 500错误主要来自语法错误或应用程序中抛出的异常。也许你在NGINX中的fastcgi设置仍然是错误的。 location *\.php
区块内的内容是什么?
尝试减少错误设置并运行php artisan serve
以在本地托管您的项目。
答案 2 :(得分:0)
您可以修改Laravel的句柄异常类,以便在使用HHVM时显示错误。
此处详细信息:https://github.com/laravel/framework/issues/8744#issue-76454458
我已经测试了这个,它在带有HHVM的Homestead上的Laravel 5.2 / 5.3上运行良好。