找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1609|回复: 0
打印 上一主题 下一主题

php 升级到 5.3+ 后出现的一些错误,如 ereg(); ereg_replace(); 函数报错

[复制链接]

2487

主题

2487

帖子

7391

积分

论坛元老

Rank: 8Rank: 8

积分
7391
跳转到指定楼层
楼主
发表于 2018-2-14 05:41:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

            在php5.3环境下运行,常常会出现
Deprecated: Function ereg() is deprecated in...和Deprecated: Function ereg_replace() is deprecated in...这些类型的报错提示。
  其原因在于:php5.3以上的版本不支持ereg()函数,而是使用preg_match()函数;不支持ereg_replace()函数,而使用preg_replace()函数。
  解决方法:将不支持的函数修改为支持的函数即可。 
      例如
 [U]复制代码[/U] 代码如下:
 if(eregi('^('value', $value)
  改为:
 [U]复制代码[/U] 代码如下:
 if(preg_match('/value/', $value)  
  再例如:
  [U]复制代码[/U] 代码如下:
$string = ereg_replace(' value', ' ', trim($string));
  改为:
[U]复制代码[/U] 代码如下:
  $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()前面加@符号
            
            
您可能感兴趣的文章:
  • PHP5.4中json_encode中文转码的变化小结
  • 安装apache2.2.22配置php5.4(具体操作步骤)
  • 注意:php5.4删除了session_unregister函数
  • php 启动报错如何解决
  • php 启动时报错的简单解决方法
  • PHP empty函数报错解决办法
  • 探寻PHP脚本不报错的原因
  • php5.4以下版本json不支持不转义内容中文的解决方法
  • Windows下编译PHP5.4和xdebug全记录
  • php5.4以上版本GBK编码下htmlspecialchars输出为空问题解决方法汇总
  • 如何把php5.3版本升级到php5.4或者php5.5
  • php5.4传引用时报错问题分析
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端