简体   繁体   English

Ubuntu 16.04 - Nginx Laravel 500 HTTP错误

[英]Ubuntu 16.04 - Nginx Laravel 500 HTTP error

I'm trying to startup a Laravel project through nginx but I'm stuck at the HTTP 500 error. 我正试图通过nginx启动一个Laravel项目,但我遇到了HTTP 500错误。 I tried sudo chmod 777 -R storage also tried with 755 . 我试过sudo chmod 777 -R storage也尝试用755 Have already user php artisan cache:clear . 已经有用户php artisan cache:clear Here is my config /etc/nginx/sites-enabled/default 这是我的config /etc/nginx/sites-enabled/default

server {
    listen 80;
    listen [::]:80;

    server_name cbattles.com www.cbattles.com;

    root /home/enthys/workspace/CodeBattles/public;
    index index.php index.html index.htm;

    location / {
            try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
            try_files $uri =404;
            fastcgi_split_path_info ^(.+\.php)(/.+)$;
            fastcgi_pass unix:/run/php/php7.0-fpm.sock;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
    }
}

In my /var/log/nginx/error.log I get the error 在我的/var/log/nginx/error.log我收到错误

2018/03/06 20:33:16 [error] 4090#4090: *10 FastCGI sent in stderr: "PHP message: PHP Parse error: syntax error, unexpected '?', expecting variable (T_VARIABLE) in /home/enthys/workspace/CodeBattles/vendor/symfony/finder/Comparator/NumberComparator.php on line 42 PHP message: PHP Fatal error: Exception thrown without a stack frame in Unknown on line 0 PHP message: PHP Parse error: syntax error, unexpected '?', expecting variable (T_VARIABLE) in /home/enthys/workspace/CodeBattles/vendor/symfony/finder/Comparator/NumberComparator.php on line 42 PHP message: PHP Fatal error: Exception thrown without a stack frame in Unknown on line 0" while reading response header from upstream, client: 127.0.0.1, server: cbattles.com, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/run/php/php7.0-fpm.sock:", host: "cbattles.com" 2018/03/06 20:33:16 [错误] 4090#4090:* 10 stC中发送的FastCGI:“PHP消息:PHP解析错误:语法错误,意外'?',期待变量(T_VARIABLE)/ home / enthys第42行上的/workspace/CodeBattles/vendor/symfony/finder/Comparator/NumberComparator.php PHP消息:PHP致命错误:在第0行的Unknown中没有堆栈帧抛出异常PHP消息:PHP解析错误:语法错误,意外'?在第42行的/home/enthys/workspace/CodeBattles/vendor/symfony/finder/Comparator/NumberComparator.php中预期变量(T_VARIABLE)PHP消息:PHP致命错误:在第0行的“未知”中没有堆栈帧时抛出异常“从上游读取响应头,客户端:127.0.0.1,服务器:cbattles.com,请求:“GET / HTTP / 1.1”,上游:“fastcgi:// unix:/run/php/php7.0-fpm.sock :“,主持人:”cbattles.com“

The storage/logs/laravel.log states storage/logs/laravel.log状态

[2018-03-06 18:33:16] local.ERROR: Parse error: syntax error, unexpected '?', expecting variable (T_VARIABLE) {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\FatalThrowableError(code: 0): Parse error: syntax error, unexpected '?', expecting variable (T_VARIABLE) at /home/enthys/workspace/CodeBattles/vendor/symfony/finder/Comparator/NumberComparator.php:42)
[stacktrace]
#0 /home/enthys/workspace/CodeBattles/vendor/composer/ClassLoader.php(301): Composer\\Autoload\\includeFile('/home/enthys/wo...')
#1 [internal function]: Composer\\Autoload\\ClassLoader->loadClass('Symfony\\\\Compone...')
#2 /home/enthys/workspace/CodeBattles/vendor/symfony/finder/Finder.php(120): spl_autoload_call('Symfony\\\\Compone...')
#3 /home/enthys/workspace/CodeBattles/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(420): Symfony\\Component\\Finder\\Finder->depth(0)
#4 /home/enthys/workspace/CodeBattles/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php(381): Illuminate\\Filesystem\\Filesystem->directories('/home/enthys/wo...')
#5 /home/enthys/workspace/CodeBattles/vendor/laravel/framework/src/Illuminate/Support/helpers.php(1038): Illuminate\\Foundation\\Exceptions\\Handler->Illuminate\\Foundation\\Exceptions\\{closure}(Object(Whoops\\Handler\\PrettyPageHandler))
#6 /home/enthys/workspace/CodeBattles/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php(384): tap(Object(Whoops\\Handler\\PrettyPageHandler), Object(Closure))
#7 /home/enthys/workspace/CodeBattles/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php(334): Illuminate\\Foundation\\Exceptions\\Handler->whoopsHandler()
#8 /home/enthys/workspace/CodeBattles/vendor/laravel/framework/src/Illuminate/Support/helpers.php(1038): Illuminate\\Foundation\\Exceptions\\Handler->Illuminate\\Foundation\\Exceptions\\{closure}(Object(Whoops\\Run))
#9 /home/enthys/workspace/CodeBattles/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php(339): tap(Object(Whoops\\Run), Object(Closure))
#10 /home/enthys/workspace/CodeBattles/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php(314): Illuminate\\Foundation\\Exceptions\\Handler->renderExceptionWithWhoops(Object(Symfony\\Component\\Debug\\Exception\\FatalThrowableError))
#11 /home/enthys/workspace/CodeBattles/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php(287): Illuminate\\Foundation\\Exceptions\\Handler->convertExceptionToResponse(Object(Symfony\\Component\\Debug\\Exception\\FatalThrowableError))
#12 /home/enthys/workspace/CodeBattles/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php(188): Illuminate\\Foundation\\Exceptions\\Handler->prepareResponse(Object(Illuminate\\Http\\Request), Object(Symfony\\Component\\Debug\\Exception\\FatalThrowableError))
#13 /home/enthys/workspace/CodeBattles/app/Exceptions/Handler.php(51): Illuminate\\Foundation\\Exceptions\\Handler->render(Object(Illuminate\\Http\\Request), Object(Symfony\\Component\\Debug\\Exception\\FatalThrowableError))
#14 /home/enthys/workspace/CodeBattles/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(326): App\\Exceptions\\Handler->render(Object(Illuminate\\Http\\Request), Object(Symfony\\Component\\Debug\\Exception\\FatalThrowableError))
#15 /home/enthys/workspace/CodeBattles/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(124): Illuminate\\Foundation\\Http\\Kernel->renderException(Object(Illuminate\\Http\\Request), Object(Symfony\\Component\\Debug\\Exception\\FatalThrowableError))
#16 /home/enthys/workspace/CodeBattles/public/index.php(55): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#17 {main}
"} 
[2018-03-06 18:33:16] local.ERROR: Exception thrown without a stack frame {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\FatalErrorException(code: 16): Exception thrown without a stack frame at Unknown:0)
[stacktrace]
#0 {main}
"} 

I had the same problem. 我有同样的问题。 I am not sure about all the specifics, but you need to update php to version 7.1+ 我不确定所有细节,但你需要将PHP更新到7.1+版本

I updated php to 7.2 on Ubuntu 16.04 this way: 我通过这种方式在Ubuntu 16.04上将php更新到7.2:

sudo add-apt-repository ppa:ondrej/php
sudo apt install php7.2 php7.2-common php7.2-cli php7.2-fpm

Then removed the old version of php 然后删除旧版本的PHP

sudo apt purge php7.1*

Then updated /etc/php/7.2/cli/php.ini file by setting 然后通过设置更新/etc/php/7.2/cli/php.ini文件

cgi.fix_pathinfo=0

Then: 然后:

sudo systemctl restart php7.1-fpm.service

Next step is to update /etc/nginx/sites-available/example.com file by setting the right version of fpm sock: 下一步是通过设置正确版本的fpm sock来更新/etc/nginx/sites-available/example.com文件:

fastcgi_pass unix:/run/php/php7.2-fpm.sock;

Finally restarting nginx: 最后重启nginx:

sudo systemctl restart nginx.service

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM