• 陪伴互联网运营小白共同探索成长,与IT爱好者共享探索乐趣
  • 建站只为分享,欢迎在PC端文章面打赏支持
  • 使用Ctrl+D 可收藏本站

部署laravel项目时返回了500错误

好玩有趣 陆子方 4年前 (2020-10-16) 1745次浏览 0个评论 扫描二维码
文章目录[隐藏]

子方有话

最近,陆子方是第一次接触laravel这个框架,以前只是知道有这么一个东西,经过这几天的学习,大概了解了一些内容。今天,陆子方就讲一下陆子方在部署工作时,页面报500错误的问题。

问题核心

1、权限正确。比如设置 storage 目录权限为 777,当然真正跑起来之后可以降低文件权限。

chmod -R  0777 storage

2、防跨站。陆子方其实就是在这里栽的跟头,陆子方使用的是lnmp一键包搭建的环境,即使陆子方已经把运行目路修改为public,也无法正常打开站点。其实这个就是防跨站出的问题。因此要把防跨站关闭。

处理说明

lnmp一键包在创建站点时,会在站点跟目录创建一个.user.ini文件,它控制着访问权限。而laravel是需要从二级目录进行访问的,因此就出现了错误。移除方法就不多说了,可以按这里来,移除后就可以正常访问了。

在Thinkphp、codeigniter、Laravel等框架下,网站目录一般是在public下,但是public下的程序要跨目录调用public上级目录下的文件,因为LNMP默认是不允许跨目录访问的,所以都是必须要将防跨目录访问的设置去掉,有时候这些框架类的程序提示500错误也可能是这个问题引起的。

【lnmp1.6】删除网站目录下.user.ini无法删除,防跨目录设置设置教程

进一步思考

网站是可以访问了,但安全成为陆子方首先考虑的问题。删除文件后,这也就意味着出现跨站访问服务器的可能性,这个安全漏洞需要补上的。

下面是陆子方在别的地方找到的,可能不够严谨,可以在站点的conf文件中添加以下内容,进行防跨站处理。

        location ~ \.php {  
      
            fastcgi_pass 127.0.0.1:9000;  
            fastcgi_index /index.php;  
      
            fastcgi_split_path_info       ^(.+\.php)(/.+)$;  
            fastcgi_param PATH_INFO       $fastcgi_path_info;  
            fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;  
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;  
            include                       fastcgi_params;
        }  

 


子方有料原创丨转载请注明原文链接
期待您的评论或捐赠,这是最好的鼓励和支持!
喜欢 (0)
[赞赏使我快乐]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到