网站地图    收藏   

主页 > 后端 > php进阶知识 >

今天在调试程序的时候,很多网上提供的源码都

来源:自学PHP网    时间:2014-09-18 13:10 作者: 阅读:

[导读] 今天在调试程序的时候,很多网上提供的源码都会出现 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程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论