繁体   English   中英

CPanel中的Laravel部署返回HTTP错误500

[英]Laravel Deployment in CPanel return HTTP Error 500

我认为这可能是一个陈词滥调的问题,但这确实使我感到困惑。

我已经在我的CPanel中部署了Laravel App(5.6版)。 我已按照本教程中提到的所有步骤进行操作,

https://medium.com/laravel-power-devs/deploy-laravel-projects-on-shared-hosting-2008be6f6f03

然后,当我尝试运行它时,它显示如下错误,

在此处输入图片说明

我想到的第一件事是PHP版本问题。 是的,我发现我的PHP版本已经过时,即v5.6。 然后我改变了

CPanel PHP设置

但是,当我刷新站点时,错误仍然出现。 有人告诉我这可能是由代码错误引起的,我检查了error_log文件,所以在这里,

[12-Dec-2018 15:31:11 Asia/Country] PHP Parse error:  syntax error, unexpected '?' in /home/root/laravelapp/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php on line 500

因此,这部分确实让我感到压力,因为大多数Laravel社区告诉我此错误是由于CPanel中的PHP版本而发生的。 就像我之前说的,该版本已经更改为v7.1。

你们有面对像我一样的情况吗? 请帮帮我。 我真的不知道现在该怎么办。 谢谢!

更改php版本是不够的。 实际上,您实际上也需要更改php-fpm可执行文件。

[Client] --calls--> [Web server] --forwards to--> [PHP FPM] --asks--> [PHP]

因此,如果您的fpm实例指向旧的php版本,您仍然会收到错误消息。 要检查所有设置是否正确:

sudo php-fpm -i | grep "PHP Version"
>> should show you which version is being used

如果二进制文件不在路径中,则必须找到它:

sudo find / -type f -name php-fpm

或者在/usr/bin/php-fpm/usr/sbin/php-fpm/usr/local/bin/php-fpm/usr/local/sbin/php-fpm 如果发现多个二进制文件,请尝试使用-i选项进行调用。

sudo /usr/local/sbin/php-fpm -i | grep "PHP Version"

然后,在您的Web服务器配置中,您必须确保使用正确的fpm连接。 通常它是一个套接字,但也可以是fastCGI转发

sudo vim /etc/nginx/sites-enabled/your-site

查找此行,并确保使用正确的版本。

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

(如果您使用的是Apache,则类似,但是您必须在其中搜索正确的步骤。)

如果未使用正确版本的fpm,则必须通过执行php7.1php-fpm二进制文件来启动该过程,并将网络服务器指向正确的套接字。

暂无
暂无

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

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