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


Posted in PHP onNovember 24, 2012

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 相关文章推荐
Excel数据导入Mysql数据库的实现代码
Jun 05 PHP
PHPMyadmin 配置文件详解(配置)
Dec 03 PHP
PHP错误Warning: Cannot modify header information - headers already sent by解决方法
Sep 27 PHP
PHP中ini_set与ini_get用法实例
Nov 04 PHP
[原创]smarty简单模板变量输出方法
Jul 09 PHP
PHP查看SSL证书信息的方法
Sep 22 PHP
详解PHP字符串替换str_replace()函数四种用法
Oct 13 PHP
PHP设计模式之工厂模式详解
Oct 24 PHP
PHP+MySQL使用mysql_num_rows实现模糊查询图书信息功能
May 31 PHP
PHP数字金额转换成中文大写显示
Jan 05 PHP
php+redis实现消息队列功能示例
Sep 19 PHP
Laravel实现通过blade模板引擎渲染视图
Oct 25 PHP
php如何调用webservice应用介绍
Nov 24 #PHP
PHP读取PDF内容配合Xpdf的使用
Nov 24 #PHP
PHP得到mssql的存储过程的输出参数功能实现
Nov 23 #PHP
php实现文件下载更能介绍
Nov 23 #PHP
php 定义404页面的实现代码
Nov 19 #PHP
php中的注释、变量、数组、常量、函数应用介绍
Nov 16 #PHP
apache php模块整合操作指南
Nov 16 #PHP
You might like
学习使用PHP数组
2006/10/09 PHP
php删除字符串末尾子字符,删除开始字符,删除两端字符(实现代码)
2013/06/27 PHP
深入解析PHP中的(伪)多线程与多进程
2013/07/01 PHP
php读取富文本的时p标签会出现红线是怎么回事
2014/05/13 PHP
thinkphp特殊标签用法概述
2014/11/24 PHP
WordPress特定文章对搜索引擎隐藏或只允许搜索引擎查看
2015/12/31 PHP
centos下file_put_contents()无法写入文件的原因及解决方法
2017/04/01 PHP
JavaScript获取客户端计算机硬件及系统等信息的方法
2014/01/02 Javascript
setTimeout内不支持jquery的选择器的解决方案
2015/04/28 Javascript
js跨浏览器的事件侦听器和事件对象的使用方法
2015/12/17 Javascript
JS实现的打字机效果完整实例
2016/06/20 Javascript
babel基本使用详解
2017/02/17 Javascript
vue.js利用defineProperty实现数据的双向绑定
2017/04/28 Javascript
详解Node中导入模块require和import的区别
2017/08/11 Javascript
利用ES6的Promise.all实现至少请求多长时间的实例
2017/08/28 Javascript
详解Vue2.0 事件派发与接收
2017/09/05 Javascript
Vue Components 数字键盘的实现
2019/09/18 Javascript
JavaScript的变量声明与声明提前用法实例分析
2019/11/26 Javascript
JQuery省市联动效果实现过程详解
2020/05/08 jQuery
[55:26]DOTA2-DPC中国联赛 正赛 Aster vs LBZS BO3 第一场 2月23日
2021/03/11 DOTA
Python中的进程分支fork和exec详解
2015/04/11 Python
Python数据分析之双色球统计两个红和蓝球哪组合比例高的方法
2018/02/03 Python
python把1变成01的步骤总结
2019/02/27 Python
python实现对服务器脚本敏感信息的加密解密功能
2019/08/13 Python
pip install python 快速安装模块的教程图解
2019/10/08 Python
python绘制BA无标度网络示例代码
2019/11/21 Python
python单例模式的应用场景实例讲解
2021/02/24 Python
应届毕业生的自我鉴定
2013/11/13 职场文书
法学研究生自我鉴定范文
2013/12/04 职场文书
自我评价怎么写好呢?
2013/12/05 职场文书
静心口服夜广告词
2014/03/20 职场文书
四下基层实施方案
2014/03/28 职场文书
完美的中文自荐信
2014/05/24 职场文书
领导干部整治奢华浪费之风思想汇报
2014/10/07 职场文书
如何利用js在两个html窗口间通信
2021/04/27 Javascript
MySQL下使用Inplace和Online方式创建索引的教程
2021/05/26 MySQL