当前位置:首页 > ZBlog教程 > 正文

Zblog程序出现PHP Notice: Undefined variable错误的解决办法

背景:

用户在zblog应用中心后台下载安装了一款zblog php插件,启用之后访问前台出现【Undefined variable $mipstyle】错误,如下图:

Zblog程序出现PHP Notice: Undefined variable错误的解决办法  第1张

很明显这是因为PHP报错,下面我们说下解决该错误的办法。

方案一、修改php.ini配置文件

1error_reporting设置:

找到error_reporting = E_ALL

修改为error_reporting = E_ALL & ~E_NOTICE

原理是:减弱PHP的敏感程度,使其遇到这种问题不报错。

方案二、在文件的php的头部加入一下代码(推荐)

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

同样也可以解决问题,要知道在 php 中,变量通常是不需要定义直接使用的,但有的时候因为 php 环境的问题会出现各种各样奇奇怪怪的事情,今天在调试程序的时候直接提示 Notice: Undefined variable 的错误,这是因为有的变量没有定义造成的,也是没谁了。

说下为什么推荐用第二种方法,某些人目前并没有使用云主机,可能是测试虚拟机(未上线),也可能是某服务商的虚拟机,这些虚拟机都有一个共同点,那就是基本上没有设置php.ini的权限。

所以第一种方法显然不适合。

再者说,php.ini是整个php核心的配置文件,不要说敲错一个字符,哪怕是一个标点错误都会导致php无法运行,所以我还是建议使用第二种方法。

哦对,最后一个建议,不要开启哪些所谓的防火墙,网站卫士,如果你怕网站被攻击建议你开启CDN,绝逼比什么垃圾卫士强(个人见解,勿喷,因为自己都用过,所以才如是说。)

方案三(来源于网络)

在调试程序时,有可能会出现Undefined variable错误,一般情况下php是不需要定义变量的,但如果服务器什么都报错的,就会出现错误。

我们经常接收表单POST过来的数据时报Undefined index中的错误如下:$act=$_POST['action'];或者总是提示Notice: Undefined index: act in D:\workspace\test.php on line 48。

另外,有时还会出现Notice: Undefined variable: $up ...... 等一些这样的提示,所以服务器上都是应该屏蔽这种错误的。

出现这种情况的原因:由于变量未定义引起的。

解决方法,找到php.ini的位置:

1)在 error_reporting设置: 找到error_reporting = E_ALL 修改为error_reporting = E_ALL & ~E_NOTICE。

2) 在register_globals设置: 找到register_globals = Off; 修改为register_globals = On; Notice: Undefined variable: email in D:\PHP5\ENOTE\ADDNOTE.PHP on line 9。

另外,大家一定要注意在修改php.ini文件以后,一定要记得重启apache。否则修改不会起作用的。

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

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

发表评论