lnmp一键安装环境上laravel报500错误记录

时间:2022-01-11 20:05:33

laravel安装过程完全按照laravel学院提供的laravel文档进行安装即可。

但是在实际操作中遇到如下问题,再次进行记录:

1、composer镜像问题,由于被墙的原因,需要将composer配制成中国全量镜像,网址:https://pkg.phpcomposer.com/lnmp一键安装环境上laravel报500错误记录

lnmp一键安装环境上laravel报500错误记录

这样有助于加快安装速度。

2、安装过程中遇到安装错误

lnmp一键安装环境上laravel报500错误记录lnmp一键安装环境上laravel报500错误记录

这是由于php配置文件中禁用掉了laravel框架中有用到的函数导致,解决办法:

打开php.ini文件将错误中提到的函数从图中位置删除即可

lnmp一键安装环境上laravel报500错误记录lnmp一键安装环境上laravel报500错误记录


3、安装完成后的权限设置,要给storage,bootstrap/cache目录可写权限,chmod   +x   storage。(这个网上都有说)

由于我是用的环境是lnmp一键安装。

按照网上的配置完成之后我还是不能访问,报500错误。

首先开启php.ini中的错误提示:display_error=on;(坑啊,这个环境中默认是off)。

经过一番折腾之后才发现,lnmp一键安装的环境中,在nginx的配置文件中有两处设置了open_basedir参数。

由于laravel框架的入口文件不再项目根目录,而在public目录下,当我在lnmp中用lnmp vhost add命令添加虚拟主机并将域名制定到public目录下时,会在public目录下生成.user.ini文件,

里边的内容是:open_basedir=/home/wwwroot/blog/public:/tmp/:/proc/,所以导致laravel请求不到public目录意外的文件而报错。

还有一处实在nginx的配置文件中/usr/local/nginx/conf/fastcgi.conf的最后有类似的配置:fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/";,

这句代表open_basedir的目录跟你的站点目录相同(public),跟上边一样的效果,在这里我直接对这句进行了注释。

然后重启lnmp,终于我看到了可爱的画面

lnmp一键安装环境上laravel报500错误记录lnmp一键安装环境上laravel报500错误记录