您好,欢迎来到惠州网站建设_网页设计制作公司_高端网站建设_模板建站_欣欣仿站



模板搜索:搜索
热门搜索: ALL房产金融汽车室内设计

惠州网站建设,记一次tp6只显示500错误的解决方案 2022-03-22 06:02:37

当前位置: >首页>新闻列表>惠州网站建设,记一次tp6只显示500错误的解决方案

        相信开发网站的朋友都知道tp6的框架,也相信使用这个框架的人,总会遇到这样那样的问题。这里惠州网站建设记录一次因为宝塔bt参数错误加上认为疏忽导致的只显示500的错误。

        遇到500错误,又没任何错误提示的情况下,我们一般都是选择搜索来解决问题。目前网上给出的方案都是两个。

        1,使用tp6自带的错误显示,查看错误代码。

        像,.env 的appdebug设置成true和config下面的app show_error_msg,这种。不过这两个方法肯定是要设置的,就算设置了,你没看到任何效果。这个是tp6能给你最大的显示错误了。如果这个设置了,但是不显示错误的话,那就基本可以说明错误不在tp6了。尤其是,如果你本身这个站点原本可以访问的。到后面,完全不显示的话,那就90%是其他原因导致的问题。

        

惠州网站建设

惠州网站建设

        

        第二个解决方案就比较灵活了。有一些说去打开nginx的错误显示,然后根据他们的错误来加入算法。       

“PHP Fatal error:  Uncaught InvalidArgumentException: Malformed UTF-8 characters, possibly incorrectly encoded in D:\phpStudy\PHPTutorial\WWW\tp6\vendor\topthink\framework\src\think\response\Json.php:50……”。

        然后就是他们的加入的算法了,

        

 protected function changeToUtf8(array $data): array

    {

        foreach ($data as $key => $value) {

            $data[$key] =  mb_convert_encoding($value, "UTF-8", "GBK, GBK2312");

        }

 

        return $data;

}


  1. //'Server/Request Data'   => $this->app->request->server(),
  2. 'Server/Request Data'   => $this->changeToUtf8($this->app->request->server()),


        在这个地方修改的。tp6\vendor\topthink\framework\src\think\exception\Handle.php


        这个方法是要针对他们哪个编码问题的,如果你不是这个问题的话,这个写法是无效的。我们要学习的是怎么查看这个问题。他思路是,在nginx这个基础上去找错误。当然,如果nginx能找到就最好了。如果你是apache的话,你也可以去找对应的错误。不过一般情况下,这个问题是找不到的。

        欣欣仿站

        上图是apache的错误代码,基本上看不出任何问题。这个时候,你的问题又回到了死胡同。有些人可能会想到权限问题,然后又折腾了一下权限,结果还是没有解决。

        这个时候心想,如果你是错误代码显示的话,那么为什么不查看下服务器的日志呢?什么是服务器的日志?这里我只拿win的系统来说。就是服务器上程序执行的时候,服务器的记录。

        我们先上图片。

        模板建站

        看到这里的时候,心里突然一喜,基本上看到php7警告,那就基本上知道是什么了。那说明就可能是这个问题导致页面不提示任何错误啊。然后我们在看看详细信息哪里。哦。大概知道是页面内存的问题了。

        既然知道是页面内存问题了,那么我们怎解决呢?或者说,又是什么原因导致这个问题的?

        这个时候,上我们的phpinfo()代码,查看下php的配置问题。

        模板建站

        这个是我们修改好的,这个memory_limit 之前写的是  4096,一看到4096就想起,我之前用bt宝塔后台修改过页面运营内存。写的就是4096,我当时看到的是他们宝塔后台写的是128内存就是128m的内存的意思,所以我写了4096就理所当然的以为是4096m内存了。后来发现,这个4096内存就仅仅是4096字节而已。连kb都不是。这个坑深深的坑了我一把。然后,我又搜索了php.ini直接去配置文件里面修改了128m进去。

        (图6)

        你说,遇到这样的事情,你不得花个1-2天去折腾你能发现这个问题吗?事后总结了两点    

        1,如果能用php原生去解决的事情,尽量用原生的配置来解决,三方不可靠啊。

        2,遇到问题,如果你解决不了的话,可以去看看日志问题,看下具体是什么导致的,多看下日志又不用你几分钟时间,说不定还能把问题解决了。

        来源:惠州网站建设

点击次数:259  更新时间:2022-03-22  【打印此页
下一条:惠州网站建设,在tp6中的volist使用遇到的问题
上一条:从网站日志看网站是否给恶意造访?
返回产品列表

扫一扫,添加微信

双十一活动季

1:签到7天,即可下载模板

2:开放包月,包年终身会员

3:包月会员,低至10元每月

4:包年会员,低至100元每年

5:终身会员,低至300元永久