PHP提示 Notice: Undefined variable
程序员文章站
2022-06-12 18:26:33
PHP提示Notice: Undefined variable,意思是:你的程序中有未定义的变量 为什么在其他地方好好的程序,换个环境报这个Notice,因为php.ini提醒级别设置的问题 场景复原: 举例,打开php.ini配置文件,搜索error_reporting,让这个配置的值如下图 重启 ......
php提示notice: undefined variable,意思是:你的程序中有未定义的变量
为什么在其他地方好好的程序,换个环境报这个notice,因为php.ini提醒级别设置的问题
场景复原:
举例,打开php.ini配置文件,搜索error_reporting,让这个配置的值如下图
重启apache服务器
新建php文件,代码如下:
<?php header("content-type:text/html;charset=utf-8"); echo $aaa; ?>
就是程序在用到变量$aaa的时候,却发现$aaa没有被定义过。
那怎么解决呢?
方法1:对自己要求严格一点,每个变量都声明下,而不是直接用,代码加一句,如下:
<?php header("content-type:text/html;charset=utf-8"); $aaa = null; //新加的 echo $aaa; ?>
方法2:文件中设置不提醒notice,代码头部加上ini_set("error_reporting",e_all & ~e_notice); 【注意:e_all & ~e_notice是不带引号的,不是字符串!!!】如下:
<?php ini_set("error_reporting",e_all & ~e_notice); header("content-type:text/html;charset=utf-8"); echo $aaa; ?>
方法3:修改php.ini配置,重启服务器error_reporting = e_all & ~e_notice
上述三种方法,任意一种方法都可以解决这个问题(浏览器端不输出notice: undefined variable,同时日志里也不记录这个问题)。
但是,如果是在php.ini中,设置display_errors = off,这样也不显示,但是日志里会有很多notice的记录(我的日志是开发环境默认的在apache的error.log文件中)
为什么呢?因为display_errors = off是服务器上这样设置,免得暴露太多文件路径等信息被黑客攻击,没有根源上解决问题,错误记录在日志里。
推荐阅读
-
Notice: Undefined index: page in E:PHP est.php on line 14
-
Notice: Undefined index: page in E:PHP est.php on line 14
-
php Notice: Undefined index 错误提示解决方法
-
IIS下PHP连接数据库提示mysql undefined function mysql_connect()
-
PHP提示 Notice: Undefined variable
-
PHP运行出现Notice : Use of undefined constant 的完美解决方案分享
-
PHP运行出现Notice : Use of undefined constant 的解决办法
-
php Undefined index和Undefined variable的解决方法
-
PHP Notice: undefined index 完美解决方法 PHPundefined index解决方法
-
测试PHP代码时PHP提示Notice:Undefinedvariable问题及解决办法