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

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

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

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

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

分析排查,开启报错检测

  1. 初步分析排查

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

  1. laravel 框架开启调试模式

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

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

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

开启调试模式方法

config/app.php 修改

'debug' => env('APP_DEBUG', false),   //关闭调试
// 'debug' => env('APP_DEBUG', true),   //开启调试

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

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

根目录环境配置.env 修改

APP_DEBUG=false    //关闭调试模式
//APP_DEBUG=true   //开启调试模式

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

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

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

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

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

记一次 PHP框架 laravel 网站500报错码处理!_开发语言_05

暂时处理方式

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

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

//获取公众号二维码 扫码登录
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;
}

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

最终处理方式

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

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

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

后记

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

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

Laravel 如何打开debag

微信扫码关注公众号登录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 框架整站跳转菠菜(挂马)文件代码!

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

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

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

·················END·················

你好,我是二大爷,

革命老区外出进城务工人员,

互联网非早期非专业站长,

喜好python,写作,阅读,英语

不入流程序,自媒体,seo . . .

公众号ID:eryeji