出现Deprecated: Function ereg_replace() is deprecated in 的原因及解决方法

在 php5.3环境下运行oscommerce,常常会出现Deprecated: Function ereg() is deprecated in…和Deprecated: Function ereg_replace() is deprecated in…这些类型的报错提示。

其原因在于:php5.3以上的版本不支持ereg()函数,而是使用preg_match()函数;不支持ereg_replace()函数,而使用preg_replace()函数。

解决方法一:退回去用php5.2

解决方法二:继续用php5.3,但是修改devel/devel.modul的460行:if ($errno & (E_ALL ^ E_NOTICE)) {改为if ($errno &

(E_ALL&~E_NOTICE&~E_DEPRECATED)) }把 deprecated错误给忽略掉

解决方法三:将不支持的函数修改为支持的函数即可。

例如:

  Deprecated: Function eregi() is deprecated in D:\www\oscommerce\catalog\includes\classes\language.php on line 87

那么,将87行的

  if(eregi('^(' . $value . ')(;q=[0-9]\\.[0-9])?$', $this->browser_languages[$i])

改为:

  if(preg_match('/^(' . $value . ')(;q=[0-9]\\.[0-9])?$/i', $this->browser_languages[$i])

再例如:

  Deprecated: Function ereg_replace() is deprecated in C:\wamp\www\includes\functions\general.php on line 61

那么,将61行的

  $string = ereg_replace(' +', ' ', trim($string));

改为:

  $string = preg_replace('{ +}', ' ', trim($string));

如此类推,其它类似的错误也可以按照上面两个函数的语法来做修改。

 收藏 (0) 打赏

您可以选择一种方式赞助本站

支付宝扫一扫赞助

微信钱包扫描赞助

未经允许不得转载:番茄网 » 出现Deprecated: Function ereg_replace() is deprecated in 的原因及解决方法

分享到: 生成海报

评论 抢沙发

  • QQ号
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

像番茄一样 表里如一

表里如一表里如一
切换注册

登录

忘记密码 ?

切换登录

注册

我们将发送一封验证邮件至你的邮箱, 请正确填写以完成账号注册和激活