• php之empty()函数常识性的错误


    写在前面的东西
    大家都很忙,如果不想看下面业务场景(一大堆废话)描述的,直接看本段结论:empty()只会检测变量,检测任何非变量都将导致解析错误!
    场景描述
    打开后台,点开某个功能模块,额,报错?我的天,之前都是好好的呀,而且错误信息还是500!

    然后下面便开始坑爹的调试过程!
    1.代码可能不是最新的,拉取最新的,无效。
    2.域名不对?重新配置一下域名,无效。
    3.本账号没有权限?添加本账号权限,无效;切换成管理员账号,依然无效。
    4.Apache设置拒绝访问了?查看配置,没有任何问题!

    然后实在不行,看了下其他同事后台,竟然没任何报错信息!看一下版本同事的php版本5.5的,自己的5.4的!额,这就搞事情了。

    然道是版本兼容性问题?于是乎,找到这个模块对应的控制器,额,5000行代码,好吧。那就利用最最原始的二分法调试吧,把控制

    里的内容全部清空,再运行一下,额,有效了!

    说明路由进来了,那好,还原代码,去掉一半代码,报了500;继续,再一半代码。。。

    终于定位到了有问题的代码了

    好吧,这里的答案就是我开头所说的只能检测变量!所有要稍微修改一下,

    嗯,再运行,一切ok了。至于同事运行正常,那是因为php版本的问题,empty的错误被屏蔽了

    程序还是会运行下去。我的5.4的版本就直接报服务器错误了!除了empty函数,还有isset函数也要注意。

    我要看一下log日志,看看是哪个大神提交的代码,我要怼回去。。。

  • 相关阅读:
    转:细说一个汉字等于几个字符,以及汉字,字符,字节,位之间的关系
    iOS8 无缝切换WKWebView,借鉴IMYWebview,解决进度条,cookie,本地页面等问题
    ios加载本地html
    如何做一个细心的人
    学习h5(开始)
    JLRoute 使用
    大二下学期学习进度(四)
    求首尾相接的数组的最大子数组和
    大二下学期学习进度(三)
    构建之法阅读笔记01
  • 原文地址:https://www.cnblogs.com/qwgshare/p/7326090.html
Copyright © 2020-2023  润新知