php5.3不支持 ereg、ereg_replace等函数问题,如提示:Deprecated: Function ereg() is deprecated

在php5.3中,正则函数ereg_replace已经废弃,而dedecms还继续用。有两个方案可以解决以上问题:

1、把php版本换到v5.3下。

2、继续使用v5.3,修改php.ini文件

;extension=php_mbstring.dll

改为

extension=php_mbstring.dll

;mbstring.func_overload = 0

修改为:

mbstring.func_overload = 7

或者使用其他的函数:

define(‘DEDEADMIN‘, ereg_replace("[/\\]{1,}", ‘/‘, dirname(__FILE__) ) );
//改为
define(‘DEDEADMIN‘, preg_replace("/[\/\\\\]{1,}/", ‘/‘, dirname(__FILE__) ) );

注:因为preg_replace比ereg_replace的执行速度快,PHP推荐使用preg_replace.

时间: 2024-10-12 14:33:58

php5.3不支持 ereg、ereg_replace等函数问题,如提示:Deprecated: Function ereg() is deprecated的相关文章

出现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 解

linux+php5.4+nginx+支持redis安装部署

系统环境 [[email protected]~]# cat /etc/redhat-release CentOSrelease 6.5 (Final) [[email protected]~]# uname -a Linuxlocalhost.localdomain 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013x86_64 x86_64 x86_64 GNU/Linux php5.4 yum源 rpm -Uvhhttp://

在WAMPSERVER下增加多版本的PHP(PHP5.3,PHP5.4,PHP5.5)支持。

WAMPServer可以让开发者在Windows系统下快速搭建WAMP环境,它支持多版本的Apache.MySQL.PHP之间的相互切换,互不影响,对于PHPer开发者来讲极为方便快速. 以下是在WAMPServer下同时支持PHP5.3,PHP5.4,PHP5.5的步骤: 1.安装WAMPServer 根据自己需求,在WAMPServer官方下载最新的32bit或64bit环境,目前为WAMPSERVER 2.5.PHP5.5版本,双击安装即可. 2.下载PHP二进制包 到Windows PH

ThinkPHP3.2 新bug ReadHtmlCache 支持不区分大小写的函数

报错提示: Fatal error: Function name must be a string in D:\wwwroot\zbphp.com\ThinkPHP\Library\Behavior\ReadHtmlCacheBehavior.class.php on line 87 代码如下: // {|FUN} 单独使用函数 $rule = preg_replace_callback('/{|(\w+)}/', function($match){return $match[1]();},$r

关于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文

PHP问题 —— Deprecated: Function ereg_replace() is de

1.1  Deprecated: Function ereg_replace() is deprecated 1.1.1  现象 运行应用出现如下错误提示: Deprecated: Function ereg_replace() is deprecated in xxx.php on line ###. 1.1.2  原因 php在5.2版本以前ereg_replace都使用正常,在5.3以后,就要用preg_replace来代替. 1.1.3  解决 改成preg_replace()函数即可.

[从jQuery看JavaScript]-匿名函数与闭包(Anonymous Function and Closure)

jQuery片段: [javascript] view plaincopyprint? (function(){ //这里忽略jQuery所有实现 })(); (function(){//这里忽略jQuery所有实现})(); 半年前初次接触jQuery的时候,我也像其他人一样很兴奋地想看看源码是什么样的.然而,在看到源码的第一眼,我就迷糊了.为什么只有一个匿名函数又没看到运行(当然是运行了……),就能有jQuery这么个函数库了?于是,我抱着疑问来到CSDN.结果相信现在很多人都很清楚了(因为

php Function ereg() is deprecated的解决方法

PHP 5.3 ereg() 无法正常使用,提示“Function ereg() is deprecated Error”.问题根源是php中有两种正则表示方法,一个是posix,一个是perl,php6打算废除posix的正则表示方法所以后来就加了个preg_match.此问题解决办法很简单,在ereg前加个过滤提示信息符号即可:把ereg()变成@ereg().这样屏蔽了提示信息,但根本问题还是没有解决,php在5.2版本以前ereg都使用正常,在5.3以后,就要用preg_match来代替

js 立即执行函数,() .则前面的function 是表达式,不能是函数申明

fnName(); function fnName(){     ... }//正常,因为‘提升’了函数声明,函数调用可在函数声明之前 fnName(); var fnName=function(){     ... }//报错,变量fnName还未保存对函数的引用,函数调用必须在函数表达式之后 var fnName=function(){     alert('Hello World'); }();//函数表达式后面加括号,当javascript引擎解析到此处时能立即调用函数 function