当前位置: 移动技术网 > IT编程>开发语言>PHP > PHP提示Notice: Undefined variable的解决办法

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

2019年04月14日  | 移动技术网IT编程  | 我要评论
php默认配置会报这个错误,我的php版本是5.2.13,存在这个问题: notice: undefined variable 这就是将警告在页面上打印出来,虽然这是有

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 了。

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网