如何解决php升级到5.3+后出现的报错
如何解决php升级到5.3+后出现的报错
这篇文章主要介绍“如何解决php升级到5.3+后出现的报错”,在日常操作中,相信很多人在如何解决php升级到5.3+后出现的报错问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何解决php升级到5.3+后出现的报错”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
在php5.3环境下运行,常常会出现
Deprecated: Function ereg() is deprecated in…和Deprecated: Function ereg_replace() is deprecated in…这些类型的报错提示。
其原因在于:php5.3以上的版本不支持ereg()函数,而是使用preg_match()函数;不支持ereg_replace()函数,而使用preg_replace()函数。
解决方法:将不支持的函数修改为支持的函数即可。
例如
复制代码 代码如下:
if(eregi('^('value', $value)
改为:
复制代码 代码如下:
if(preg_match('/value/', $value)
再例如:
复制代码 代码如下:
$string = ereg_replace(' value', ' ', trim($string));
改为:
复制代码 代码如下:
$string = preg_replace('{ value}', ' ', trim($string));
解决Deprecated: Assigning the return value of new by reference is deprecated in报错
因为我们现在php是5.3的原因,在php5.3之中可以直接用”=”,而之前因为在本地上测试都是5.3以下的php环境用的是”=&”符号。
在 5.3版本之后已经不允许在程序中使用”=&”符号。如果你的网站出现了Deprecated: Assigning the return value of new by reference is deprecated in 错误,别着急,先定位到出错的文件,查找下是不是在程序中使用了”=&”,发现使用了”=&”符号,去掉‘&'符号之后程序运行 正常。
问题:Deprecated: Function set_magic_quotes_runtime() is deprecated in
导致这个提示的原因是在PHP5.3后此特性(set_magic_quotes_runtime())已经关闭。
而且在PHP6中已经完全移除此特性。
你可以注释或者删除掉出错的行,或者是在set_magic_quotes_runtime()前面加@符号
到此,关于“如何解决php升级到5.3+后出现的报错”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注高防服务器网网站,小编会继续努力为大家带来更多实用的文章!
[微信提示:高防服务器能助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。
[图文来源于网络,不代表本站立场,如有侵权,请联系高防服务器网删除]
[