必威体育Betway必威体育官网
当前位置:首页 > IT技术

http 500状态码

时间:2019-07-10 03:45:24来源:IT技术作者:seo实验室小编阅读:68次「手机版」
 

http 500

HTTP请求返回500状态码,整体原因是:服务器内部错误。这个原因太过笼统,看了和没看直接懵逼。今天遇到这么一个崩溃的问题,这么大的范围,怎么找呢?

然后,静下来打开思路,慢慢想一下,分析过程:

1.客户端请求服务端的时候,返回500,首先服务端的请求发出去了,并且返回了500,错误定位到服务端。

2.服务端里面代码竟然没有执行任何打印语句,说明还没有执行到逻辑,就已经出错了。

3.这边服务端是lua语言写的,在这个文件的开头有这个加载文件的语句

package.path = "../ta/?.lua;../xjnlib/src/?.lua;"..package.path
package.cpath = "../xjnlib/bin/?.so;"..package.cpath

4.首先要保证加载路径是对的。

5.确保第4步,才到这里分析,加载路径对了,在加载过程中,如果出现语法错误的情况,这里就会直接返回500了。示例如下:

这是一个lua的函数里的部分代码:

function _M.pre_order_info(args)
    local datas ={}


     datas = {
        front_trans_type = "120",
        trans_amt = string.format("%012d",args.trans_amt),
        pay_type = args.pay_type,
        xjn_code = args.xjn_code,
        req_date_time = req_time, --交易时间YYYYMMDDhhmmss
        --xjn_id = args.xjn_id  ,--1内部终端号
        --term = args.term , --2内部终端流水
        in_type = IN_TYPE[args.pay_type],--接入方式
        mcssn = args.mcssn,
        account_id = args.account_id,
    }
    if args.xjn_id ~= undefined then
       log(m_uuid,"获取预订单信息xjn_id  true==>" .. args.xjn_id)
      datas.xjn_id = args.xjn_id , --3内部终端号 此处语法错误
    end

    if args.term ~= undefined then
       log(m_uuid,"获取预订单信息term  true==>" .. args.term)
    datas.term = args.term , --4内部终端流水 此处语法错误
    end
end

这里是这样的,上面定义了一个datas的table,在表示1和2处的字段注释掉了,经过下面的if条件判断,添加其字段,这里3和4很显然是从1和2处复制过来的,后面就多了逗号,以至于造成语法错误,导致客户端访问时,出现了500的状态码!去掉3和4处的逗号即可。

6.正确代码如下:

function _M.pre_order_info(args)
    local datas ={}


     datas = {
        front_trans_type = "120",
        trans_amt = string.format("%012d",args.trans_amt),
        pay_type = args.pay_type,
        xjn_code = args.xjn_code,
        req_date_time = req_time, --交易时间YYYYMMDDhhmmss
        --xjn_id = args.xjn_id  ,--1内部终端号
        --termn = args.term , --2内部终端流水
        in_type = IN_TYPE[args.pay_type],--接入方式
        mcssn = args.mcssn,
        account_id = args.account_id,
    }
    if args.xjn_id ~= undefined then
            log(m_uuid,"获取预订单信息xjn_id  true==>" .. args.xjn_id)
            datas.xjn_id = args.xjn_id  --3内部终端号
    end

    if args.term ~= undefined then
        log(m_uuid,"获取预订单信息term  true==>" .. args.term)
        datas.term = args.term  --4内部终端流水
    end
end

实际开发中可能出现的问题千变万化,请根据实际情况找问题所在。

相关阅读

2012年中国500强排行榜发布 盛大娱乐今年不见踪影

财富中文网今天发布2012年中国500强排行榜,中石化蝉联榜首。科技企业里中国移动位次最高,排名第3。进入前50名的科技企业还有中国电

最全活动策划、运营攻略,5000字,多个案例分析

作为一个运营人员,活动策划、活动运营总是如影随形,今天和大家聊聊如何去运营一场完整的活动。文章5000多个字,慢慢品味。首先请大家

软文广告经典案例500字范文分享

软文广告的精髓就在于一个“软”字,收而不露,好似绵里藏针,克敌于无形。一篇精品软文,可让一家公司迅速扬名,亦可让产

wampserver中配置虚拟主机时AllowOverride设置为all报

原因:apache没有开启mod_headers.so 或者没有开启mod_rewrite.so解决方法:将httpd.conf中的下面两个配置去掉分号 LoadModule rewr

HTTP 503 错误 – 服务不可用 (Service unavailable)

介绍 因暂时超载或临时维护,您的 Web 服务器目前无法处理 HTTP 请求。 其含义是, 这是一个暂时情况,会有一些延误, 过后将会得到缓解

分享到:

栏目导航

推荐阅读

热门阅读