‘壹’ php报错PHP Deprecated: preg_replace求大神解决
Deprecated: preg_replace();咐好意思是不赞成正衡搏铅则替换,你这用正则替换的用法,不让使用银衫,换种方法实现你的替换目的吧。
‘贰’ 新人求教PHP高手,Deprecated
ereg函数是5之前用的,在5.多版本就弃用了,5点低的一些会执行但有警告,你说的php2.3我没听说过这个版本,apache2.3到是有听说,正则你用preg_grep吧!返回匹配模式的数组条目,效果一样的,关于正则的函数你到php手册,函数参考->文本处理->PCRE->PCRE函数,这里是正则的一般使用到的函数,PCRE下的POSIX REGEX你也简铅可以看则镇下,你用的ereg函数里面就有说明,其中就有
Note:
使用 Perl 兼容正则表达式语法的 preg_match() 函数通常是比 ereg() 更快的替代方孙咐粗案。
‘叁’ php怎么屏蔽warning
诸如下面这些错误的提示:Warning: file_get_contents(/usr/local/tads/htdocs/XXXXXX/src/cache/countLoginnum.txt) [function.file-get-contents]: failed to open stream: No such file or directory in/usr/local/tads/htdocs/XXXXXXX/src/controllers/defaultController.php on line 43Warning: Cannot modify header information - headers already sent by (output started at /usr/local/tads/htdocs/XXXXXX/src/config/env.php:5) in/usr/local/taesdk/1.0/phplib3/src/base/core/TMWebResponse.class.php on line 332有的时候代码的警告会导致整个项目无法运行,比如某个变量无对象的情况,若无影响,这时如果屏蔽警告,就可以使整个项目恢复正常运行。当然它的作用不在于这,而是在成品网站或做服务器时,不输出错误信息可以减少被黑客攻击的风险(对于一些容易出错并且容易暴漏敏感数据的代码,一般多在数据库这块吧),也能在出错的情况下仍保持网站的美观。至于在调试下,那这个错误提示信息还是比较有用的,可以在PHP页面最前边加上一句: error_reporting(E_ALL & ~E_NOTICE);让出错时显示错误信息。屏蔽的方法:
屏蔽PHP错误提示方法一、在有可能出错的函数前加@,然后or die("") 如: @mysql_connect(...) or die("Database Connect Error")
屏蔽PHP错误提示方法二、编辑php.ini ,查找"display_errors =" ,将“=”后面的值改为"off。
屏蔽PHP错误提示方法三、在php脚本前加error_reporting(0),屏蔽所有错误提示。
例:
@$a = $b['a']; //忽略@后面语句的错误
$a = @$b['a']; //忽略@后面语句的错误,推荐使用这句。因为错误是在$b这个数组中发生的,所以@符号在$b前就可以了,这是错误真正发生的地方。
‘肆’ 如何使php页面中不再出现NOTICE和DEPRECATED的错误提示
<灶卖猛?php
//文件头部设置
error_reporting(E_ALL^E_NOTICE);
?>
//隐桥或者在php.ini配置文件配基中修改:
error_reporting=E_ALL & ~E_NOTICE