PHP提示Notice: Undefined variable的解决办法

 更新时间:2012年11月24日 14:36:30   投稿:mdxy-dxy  
今天在调试程序的时候,很多网上提供的源码都会出现 Undefined variable错误,一般情况下php是不需要定义变量的,但如果服务器什么都报错的,就会出现错误,所以服务器上都是应该屏蔽这种错误的

PHP默认配置会报这个错误,我的PHP版本是5.2.13,存在这个问题:
Notice: Undefined variable
这就是将警告在页面上打印出来,虽然这是有利于暴露问题,但实现使用中会存在很多问题。

需要设置显示错误级别,来解决问题。
网络上的通用解决办法是修改php.ini的配置:

解决方法:

1) error_reporting设置:

找到error_reporting = E_ALL
修改为error_reporting = E_ALL & ~E_NOTICE

2) register_globals设置:

找到register_globals = Off
修改为register_globals = On

我发现在php代码中直接使用

error_reporting(E_ALL & ~E_NOTICE);

可以解决这个问题,小技巧记一下,呵呵。

以下是补充:

Notice: Undefined variable: email in D:\PHP5\ENOTE\ADDNOTE.PHP on line 9
Notice: Undefined variable: subject in D:\PHP5\ENOTE\ADDNOTE.PHP on line 9
Notice: Undefined variable: comment in D:\PHP5\ENOTE\ADDNOTE.PHP on line 9

........

其实以上就是未定义变量,我们就直接判断变量的代码导致。

本来php是不需要定义变量的,但是出现这种情况应该怎么办呢?

只要在C:\WINDOWS找出php.ini的

在php.ini中的302行 error_reporting = E_ALL

修改成

error_reporting = E_ALL & ~E_NOTICE再重启apache2.2就行了

解决方法:修改php.ini

将: error_reporting = E_ALL

修改为:error_reporting = E_ALL & ~E_NOTICE

如果什么错误都不想让显示,直接修改:

display_errors = Off

如果你没有php.ini的修改权限,可在php头部加入

ini_set("error_reporting","E_ALL & ~E_NOTICE");

即可


我们知道在 php 中,变量通常是不需要定义直接使用的,但有的时候因为 php 环境的问题会出现各种各样奇奇怪怪的事情,今天在调试程序的时候直接提示 Notice: Undefined variable 的错误,这是因为有的变量没有定义造成的,也是晕了,好吧,这种问题直接一句屏蔽误句就搞定了。

直接在程序的最顶端插入一句 error_reporting(0); 相信就不会再暴露这样的问题了,也不耽误程序的运行,当然这个只是应急的方法,我们还是要好好检查程序哪里出现的问题,然后对症下药,对于直接屏蔽问题夏日博客再总结几种方法吧。

php.ini 配置文件中的修改

在php.ini中的302行 error_reporting = E_ALL 修改成 error_reporting = E_ALL & ~E_NOTICE再重启apache2.2就行了,如果什么错误都不想让显示,直接修改:display_errors = Off

php文件中的修改

如果你没有php.ini的修改权限,可在php头部加入 ini_set("error_reporting","E_ALL & ~E_NOTICE"); 或者 error_reporting(0);//xiariboke.com 即可。

一般情况下直接建议在 php 文件中进行添加,这种方法简单,不用去修改服务端的 php.ini 了。

相关文章

  • PHP中使用OpenSSL生成证书及加密解密

    PHP中使用OpenSSL生成证书及加密解密

    这篇文章主要介绍了PHP中使用OpenSSL生成证书及加密解密,需要的朋友可以参考下
    2017-02-02
  • PHP中构造函数和析构函数解析

    PHP中构造函数和析构函数解析

    这篇文章主要介绍了PHP中构造函数和析构函数解析,本文用代码实例讲解了PHP中构造函数和析构函数,需要的朋友可以参考下
    2014-10-10
  • php post大量数据时发现数据丢失问题解决方法

    php post大量数据时发现数据丢失问题解决方法

    这篇文章主要介绍了php post大量数据时发现数据丢失问题解决方法,原因是默认配置里的数据量配置太小造成的这个问题,修改一下配置即可,需要的朋友可以参考下
    2015-06-06
  • PHP中单例模式与工厂模式详解

    PHP中单例模式与工厂模式详解

    本文主要介绍了PHP中单例模式与工厂模式的相关知识。具有很好的参考价值,下面跟着小编一起来看下吧
    2017-02-02
  • PHP中iconv函数知识汇总

    PHP中iconv函数知识汇总

    iconv函数库能够完成各种字符集间的转换,是php编程中不可缺少的基础函数库。本文内容是参考了网上的其他资源,然后结合自己的实践,有需要的小伙伴可以参考下。
    2015-07-07
  • Fastadmin框架自定义搜索操作流程

    Fastadmin框架自定义搜索操作流程

    这篇文章主要介绍了Fastadmin框架自定义搜索操作流程,包括html标签、js调整、PHP修改,需要的朋友可以参考下
    2023-08-08
  • php 字符串替换的方法

    php 字符串替换的方法

    使用explode函数,把要替换的字符串做为分割符号,然 后把两个数组元素中间接上要换成的字符串,然后UPDATE一下就行了
    2012-01-01
  • PHP字符串和十六进制如何实现互相转换

    PHP字符串和十六进制如何实现互相转换

    这篇文章主要介绍了PHP字符串和十六进制如何实现互相转换,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • 深入解析PHP中SESSION反序列化机制

    深入解析PHP中SESSION反序列化机制

    这篇文章主要介绍了PHP中SESSION反序列化机制的相关资料,文中介绍的非常相信,相信对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。
    2017-03-03
  • php获取文件类型和文件信息的方法

    php获取文件类型和文件信息的方法

    这篇文章主要介绍了php获取文件类型和文件信息的方法,可实现获取文件类型、大小、修改时间等功能,非常简单实用,需要的朋友可以参考下
    2015-07-07

最新评论