关于php报错:Deprecated: Function ereg_replace() 的解决方法

假如你经常使用php开源程序,在升级了php环境后,肯定遇到过,Deprecated: Function ereg_replace() 的错误信息

在php5.3版本中,为了让编程更简洁,废弃了ereg_replace正则函数,但有些早期开发的php程序,这个函数经常使用,下面我有两个解决的方法:

1.把php版本更换至php5.0,继续使用早期版本的php环境,但这种方法未免有点不客观,假如你是购买的虚拟主机,你就没有办法更换php版本

2.修改php环境的配置文件,也就是修改php.ini文件:

找到 ;extension=php_mbstring.dll 更改为:extension=php_mbstring.dll

找到 ;mbstring.func_overload = 0 修改为:mbstring.func_overload = 7

这样也可以继续使用,但修改php.ini文件同第一种方法一样有限制,并不是所有的php运行环境你都有权修改

3.使用最新的正则函数 preg_replace,在正则替换时稍有不同,

如:ereg_replace("[/\]{1,}", ‘/‘, dirname(__FILE__) )

修改后应该为:  preg_replace("/[/\]{1,}/", ‘/‘, dirname(__FILE__) )

在phpv5.3中,php推荐使用第3种方法,因为preg_replace要比ereg_replace执行的效率快很多

时间: 2024-11-13 07:54:25

关于php报错:Deprecated: Function ereg_replace() 的解决方法的相关文章

PHP报错Deprecated: Function ereg_replace() is deprecated in

可能用了PHP5.3乃至更高的PHP版本,目前DEDE中有很多地方的正则函数都用的ereg_replace,而这个函数现在在PHP5.3中已经被废止了. 解决办法: 如果一定要用php5.3,请修改php.ini中下面代码;extension=php_mbstring.dll改为extension=php_mbstring.dll;mbstring.func_overload = 0修改为:mbstring.func_overload = 7

Android NDK报错(Eclipse)及解决方法

在AndroidNDK开发过程中,工程目录下的jni文件夹下编写的c/c++代码,通常会出现如下的几种类型的报错: 1.Unresolved inclusion:<XXX> 2.syntax error 3.Function 'XXX' could not be resolved 4.Type 'XXX' could not be resolved 5.Symbol 'XXX' could not be resolved 6.Method 'XXX' could not be resolved

【spring boot+mybatis】注解使用方式(无xml配置)设置自动驼峰明明转换(),IDEA中xxDao报错could not autowire的解决方法

最近使用spring boot+mybatis,使用IntelliJ IDEA开发,记录一些问题的解决方法. 1.在使用@Mapper注解方式代替XXmapper.xml配置文件,使用@Select等注解配置sql语句的情况下,如何配置数据库字段名到JavaBean实体类属性命的自动驼峰命名转换? 使用spring boot后,越来越喜欢用注解方式进行配置,代替xml配置文件方式.mybatis中也可以完全使用注解,避免使用xml方式配置mapper.(参考  springboot(六):如何优

mysql登录报错ERROR 1045 (28000的解决方法

问题描述: mysql -u root -p命令登录MySQL,提示ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 解决办法: information_schema 库的USER_PRIVILEGES 表中 没有给 'root'@'localhost' 赋权. mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' ID

Github上LeakCanary编译报错CreateProcess error=2的解决方法

现象说明: 从github上拉下LeakCanary编译时报错 1 CreateProcess error=2, ??Õ?»µ½?¶ 原因分析: 该现象是由于Windows中Gradle调用命令未加cmd.exe /C导致Windows无法识别命令 解决方案: 定位到报错的gradle代码为leakcanary-android模块的build.gradle中的gitSha()方法,修改代码为: 1 def gitSha() { 2 return 'cmd.exe /C git rev-parse

Arcgis Javascript中geometryEngine报错’hq‘of undefined的解决方法

这个问题困扰了我一个星期,原因是使用geomagicbuffer时候,有的线可正常使用,有的就直接报错,一直没有解决,后来发现是api自己的bug导致的 干脆直接读代码,在geometryEngine第737行,有这么一句话(不同版本的额api可能会不同): if((this.Ec||1E4<u.jq&&1<u.Ci.length)......... 报错的就是这里,因为u没有判断是否存在,导致执行u.jq时候报错 按照下面修改就好啦 if((u)&&(u.jq

pdo 连接数据库 报错 could not find driver 解决方法

在windows 下,调试一个PHP程序时,报了这个错误, could not find driver 原来我的这个程序中用到了PDO对象, 连接mysql 5.  在PHP的默认设置中,只打开了php_pdo 模块, 没有打开php_pdo_mysql模块.所以才会出现找不到驱动程序的错误. 把这个模块打开,重启apache就可以了. 当然了,如果你用别的数据库,打开对应的模块就OK了. extension=php_pdo_mysql

[PHP] 安装PHP报错“Primary script unknown”的解决方法

当安装完最新版的nginx和最新版的PHP以后,使用niginx默认配置文件中的PHP配置会有错误访问指定目录下的php文件时,显示File not found.错误.查看nginx的错误日志显示 90#90: *1 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: 127.0.0.1, server: 127.0.0.1, requ

mybatis报错invalid types () or values ()解决方法

### Cause: org.apache.ibatis.reflection.ReflectionException: Error instantiating class com.chry.browserServer.db.model.User with invalid types () or values (). ause: java.lang.NoSuchMethodException: com.chry.browserServer.db.model.User.<init>()] wit