前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >记一次 PHP框架 laravel 网站500报错码处理!

记一次 PHP框架 laravel 网站500报错码处理!

作者头像
二爷
发布2023-09-02 08:18:00
3330
发布2023-09-02 08:18:00
举报
文章被收录于专栏:二爷记

网站为 laravel 突然之间 500码报错,不明所以,有点懵,没有任何征兆,也没有任何报错信息,直接500报错显示网页无法访问。

处理方式一,直接重启服务器

万事不决,就跟电脑问题排查一样,直接重启,别问,问就是时间紧,直接重启服务器/电脑!

当然该处理方式是无效的,多次重启服务,还是没用。

分析排查,开启报错检测

  1. 初步分析排查

经过初步访问网页排查,检测,发现端倪,PC端全站500报错,移动端访问正常,所以网站应该是pc端页面功能出错,而非服务器服务出错,因为移动端没有受到访问影响。

  1. laravel 框架开启调试模式

正常来说,想要知道网站报错,无疑是需要知道是什么错误导致的报错,而这时候就需要开启调试模式,也就是开发模式,能够准确的知道报错原因及定位报错代码,通过报错信息和代码来解决问题。

Laravel调试模式是一种特殊的开发模式,可以方便地跟踪应用程序中的错误。当我们开启调试模式时,Laravel将记录所有错误和异常,并将它们呈现给我们,以便我们可以快速解决问题。

要在Laravel中启用调试模式,需要将.env文件中的APP_DEBUG选项设置为true。这样,我们就可以在Web应用程序中捕获和记录所有错误和异常了。

开启调试模式方法

config/app.php 修改

代码语言:javascript
复制
'debug' => env('APP_DEBUG', false),   //关闭调试
// 'debug' => env('APP_DEBUG', true),   //开启调试

经测试,重启多次也无效,没有开启调试模式。

根目录环境配置.env 修改

代码语言:javascript
复制
APP_DEBUG=false    //关闭调试模式
//APP_DEBUG=true   //开启调试模式

经测试,开启调试模式成功,无需重启服务器或者服务。

开启调试模式后,很清晰的获取到报错原因及代码块:

这是一个调用微信公众号开发接口,扫码登陆网站的接口操作!

暂时处理方式

由于搞不清楚具体的接口调用和使用规则方法,大概知道是获取的变量出现了问题,所以直接采取忽略报错的笨方法应急来正常访问网页!

这里忽略报错采用的是 try catch exit 方法来忽略报错,直接执行后面的程序代码。

代码语言:javascript
复制
//获取公众号二维码 扫码登录
function getTicketUrl(){
    $app = Factory::officialAccount(config('wechat.qr_code'));
    $timestamp = time().mt_rand(100000,999999);
    $result = $app->qrcode->temporary($timestamp, 6 * 24 * 3600);
    if(!empty($result['ticket'])){
        $ticket = $result['ticket'];
        $ticket_url = $app->qrcode->url($ticket);
    }
    // $data['ticket'] = $ticket;
    try {
        $data['ticket'] = $ticket;
    } catch(Exception $e) {
        echo "Error: " . $e->getMessage();
        exit;
    }
    //使用$result继续代码的执行
    $data['ticket_url'] = $ticket_url;
    return $data;
}

与之前设想的一样,网站可以访问,但不是正常访问,网页底部还是会有报错显示,同时由于登陆是在头部,所以导致页面图片基本没有加载。

最终处理方式

公众号服务号认证续费,重新认证,开启公众号开发者平台服务,网站访问正常,代码也无需再次更改提交!

后记

由于本渣渣不是专业猿,更不是专业phper,所以以上解决方案或者方式仅供参考,如果你不懂的话,不要瞎尝试,尤其是在正常的生产环境下,毕竟不是开发调试环境下,毕竟你一个误(删)操作,很容易造成不可逆的操作损失,传说中的删库跑路不是段子。

以上应该是大体网站报错的处理方式,或者说是流程,如有雷同,肯定是本渣渣瞎编的。

Laravel 如何打开debag https://blog.csdn.net/weixin_35749786/article/details/129071240

微信扫码关注公众号登录PC网站思路详解 http://www.rongsp.com/article/177.html

EasyWeChat - 一个 PHP 微信开发 SDK | EasyWeChat https://easywechat.com/

微信公众平台开发概述 | 微信开放文档 https://developers.weixin.qq.com/doc/offiaccount/Getting_Started/Overview.html

相关阅读

ThinkPHP 5.0 框架整站跳转菠菜(挂马)文件代码!

记一次ThinkPHP框架错误解决处理!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-08-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python与SEO学习 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 处理方式一,直接重启服务器
  • 分析排查,开启报错检测
  • 暂时处理方式
  • 最终处理方式
  • 后记
  • ThinkPHP 5.0 框架整站跳转菠菜(挂马)文件代码!
  • 记一次ThinkPHP框架错误解决处理!
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档