php开发中应该注意错误

    我们可能一开始就接触一个项目的开发,刚开始时都是信心满满,一定把这个项目做得非常完美,但是时间那么少,任务那么多,我们就只有将就了。

    首先,一般情况下,我们会加一个调试标志,define(‘APP_DEBUG‘, true); 用以一些方便的地方进行特殊操作,也会将error_reporting打开,一般会很烦,通常会这么做,error_reporting(E_ALL & ~(E_STRICT | E_NOTICE));这样就会避免很多不必要的麻烦,提升开发速度同时,又能尽快发现问题,然后上线之后,直接error_reporting(0); 可能很多人是这么干的。

    但是,我们这样做真的好吗?线上的环境和测试环境难道就真的一点差异都没有?这是不可能的,所以,我们需要及时了解线上产品的一些运行情况,也就是说,线上,我们也需要错误报告,小公司直接找服务器管理员拿日志就OK,大公司的话一般要申请什么的,反正就是流程一堆。拿到日志之后,就需要对其中出现问题的地方进行修补,排查,处理问题。那么,要做到这一点,就需要把线上的error_reporting打开,而且配置的错误日志路径应该是一个绝对路径,否则,将会在各个地方产生错误日志(只有一个入口的情况除外),notice和strict就不要报了,其他的都报出来。

    总结一下,开发过程中,可能遇到的一些错误报告我们不怎么会在意的。 1、division by zero,除0操作,在涉及除数的时候,我们很多时候直接相除,而没有考虑0的情况,这是会被当作warning来处理的,在一些严格的语言中,甚至是当作致命错误来处理的,所以应该解决,php处理除0操作是把整个结果当作0的,自己可以根据业务需求进行相应设置。2、array_combine,这个函数是将数组一个以键一个以值的方式组合起来,但是,当有个值为空或非数组时,则会报一个warning,而且得到的值为null,而非有部分值,应当注意。3、foreach,当内部循环为boolean值时,也会发出一个warning,为字符串时则可以继续进行。4、json_encode,当当前编码不为utf-8而又有中文时,则报告一个warning,不是utf-8序列,处理办法,将其他编码转换成utf-8后,再进行json_encode。使用jquery的ajax功能时,是以utf-8传递的,接收时也需要转换成对应编码方可不乱码。

    总之,能看得到错误,都是有隐患的,及早处理的好,赶时间,上班了。

时间: 2024-11-04 22:05:56

php开发中应该注意错误的相关文章

FPGA quartus开发中常见的错误处理

1.Warning: An incorrect timescale is selected for the Verilog Output (.VO) file of this PLL design. It's required that the timescale should be 1 ps when simulating a PLL design in a third party EDA tool. 解决办法:是因为timessale不是1ps导致的错误,原因可能是之前使用过modelSim

iOS 开发中常见的错误日志处理

Outline如何获得crash日志如何解析crash日志如何分析crash日志     1. iOS策略相关     2. 常见错误标识     3. 代码bug 一.如何获得crash日志 当一个iOS应用程序崩溃时,系统会创建一份crash日志保存在设备上.这份crash日志记录着应用程序崩溃时的信息,通常包含着每个执行线程的栈调用信息(低内存闪退日志例外),对于开发人员定位问题很有帮助. 如果设备就在身边,可以连接设备,打开Xcode - Window - Organizer,在左侧面板

如何定位Android NDK开发中遇到的错误

做android应用的调试,最怕就是报错,crash,看到这篇好文章,记录一下: 转自:http://www.csdn.net/article/2014-12-30/2823366-Locate-Android-NDK Android NDK是什么? Android NDK 是在SDK前面又加上了“原生”二字,即Native Development Kit,因此又被Google称为“NDK”.众所周知,Android程序运行在Dalvik虚拟机中,NDK允许用户使用类似C / C++之类的原生代

10种软件开发中 over-engineering 的错误套路

别把「不要过度使用 Generic」误解成「不用 Generic」.也别把「不要写一些不必要的 Wrapper」误解成「不写不论什么 Wrapper」.我仅仅是在讲 over-engineering 这个事.仅仅是在提倡不搞野路子编程. 套路1:攻城狮自觉得比业务人员聪明 攻城狮认为自己最聪明,由于东西是他们写出来的嘛! 然而这常常就是 over-engineering 的根源. 即使我们考虑好100件事情.还是会有第101件我们没想到的事情冒出来. 就算我们搞定了1000个问题,还是会带出10

[android]android开发中的运行错误之:adb.exe

调试的时候出现一下错误: The connection to adb is down, and a servera error has occured.You must restart adb and Eclipse. Please ensure that adb is correctly located at 'D:......\platform-tools\adb.exe' and can be executed. 对于这个问题,网上查了一下,有几种方法:1.确定platform-tools

Web前端开发中的小错误

错误1:表单的label标签跟表单字段没有关联 利用“for”属性允许用户单击label也可以选中表单中的内容.这可以扩大复选框和单选框的点击区域,非常实用. 错误2:logo图片没有链接到主页 点击网站logo就能转到主页已经成为了网民的条件反射.此外,值得一提的是,logo是指定放于左上角的. 错误3:不能区分是否已经访问过该链接 访问过的连接状态应该与没有访问过的有所区别,以便于让用户直观地明白哪个链接已经点击过了. 错误4:没有突出当前选中激活的表单项 可以使用“focus”展现选中的文

Android应用开发中出现appcompat-v7错误

博客Melon麦东=原创记录 经常很多朋友在Android应用开发过程中,遇到创建的好的Android工程,出现appcompat-v7错误,这因为Android从5.0开始,引入了此项目库,解决方案有一下两点 1.保留appcompat-v7,完善Android5.0 在SDK Manager中下载以下内容 2.不想下载Android 5.0,则需要要更改Android 应用最低SDK版本要求,将minimum Required SDK设置为4.1以上即刻 打开AndroidManifest.

微信小程序在开发中遇到的错误与解决方法

1. 这种错误多半是该js文件中没有Page这个方法,就算是空的js也必须要把Page({ })写上去   √ 2. 这种错误多半是该json文件没有内容,所以必须要加上{ },就算是空内容也要加上{ }.√ 补一句:小程序里json文件中不允许有注释不然会报错. 3. 这个问题我不知道怎么解决了.iconClass在当前页面的js中的data里是一个数组,我只想让它使用第一个属性,但是这样不行.未解决 4. 这个错误就很明显了.小程序中的背景图片不能使用本地的路径,要么使用在服务器上的图片路径

jni开发中的常见错误

* java.lang.UnsatisfiedLinkError: Native method not found: 本地方法没有找到 * 本地函数名写错 * 忘记加载.so文件 没有调用System.loadlibrary * findLibrary returned null * System.loadLibrary("libhello"); 加载动态链接库时 动态链接库名字写错 * 平台类型错误 把只支持arm平台的.so文件部署到了 x86cpu的设备上 * 在jni目录下创建