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

在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()前面加@符号

时间: 2025-01-27 17:17:38

php 升级到 5.3+ 后出现的一些错误,如 ereg(); ereg_replace(); 函数报错_php实例的相关文章

struts升级2.3.16jar包后struts标签无法提交action,也不报错。

问题描述 struts升级2.3.16jar包后struts标签无法提交action,也不报错. struts升级2.3.16jar包后struts标签无法提交action,也不报错. jsp代码如下: /s:action

vs2012配置opencv后,函数报错,求大神解释

问题描述 vs2012配置opencv后,函数报错,求大神解释 我在配置好opencv2.4.10之后,找了个程序测试一下,但是程序中所有的opencv库中的函数都报错,说是为定义的标示符,但是opencv的库函数我已经链接输入了.搞了好久,求大神解答额 解决方案 opencv的lib库是否也用vs2012编译的,其次,link的时候路径等是否设置争取

数据结构、c语言-急!!!!为何以下程序执行第2功能离开车厂后在vc++6.0环境下程序会报错并终止运行,求解决方案

问题描述 急!!!!为何以下程序执行第2功能离开车厂后在vc++6.0环境下程序会报错并终止运行,求解决方案 #include "stdafx.h" #include #include #include #define max 5 #define pri 5 typedef struct time{ int year; int day; int month; int hour; int min; }Time; typedef struct node{ char num[10]; Tim

求教telnet连上远程主机后,从远程主机copy文件到本地为何报错“拒绝访问”???

问题描述 求教telnet连上远程主机后,从远程主机copy文件到本地为何报错"拒绝访问"??? 我客户端和服务端都是administrator用户登陆.telnet链接上远程主机后,在远程主机上盘符之间copy都正常,但把远程主机上的文件copy到本地时就报错:"拒绝访问".我感觉是不是我本地的administrator用户的一些什么权限设置之类的问题?或者有哪些本地服务需要启动?该如何解决?求大神指教. 解决方案 看下是不是权限的问题,或者没有连上 解决方案二:

rc local-在 rc.local 中添加shell脚本开机启动后,如果需要用到数据库,会报错,怎么解决

问题描述 在 rc.local 中添加shell脚本开机启动后,如果需要用到数据库,会报错,怎么解决 会出现这样的报错,感觉是数据库还没启动完. OperationalError: (2006, 'MySQL server has gone away') 但是已经加了非常长的延时,还是不行,开机后自己手动启动的话就不会出现在这个问题,怎么解决 解决方案 你需要放在数据库启动之后.不然你的脚本启动的时候,数据库还没有启动 解决方案二: 你明白出错的原因啊,放在数据库启动完了之后在执行这个脚本就OK

tomcat-从SVN上checkout代码后,导入到myeclipse,部署的时候报错,资源文件被锁定

问题描述 从SVN上checkout代码后,导入到myeclipse,部署的时候报错,资源文件被锁定 报这样错误!那位能详细说说~~~ 解决方案 抱歉,看不清楚!请重新发个 解决方案二: 终于解决了这个问题,原因是项目里面的jar找不见路径,重新构建路径,加入所需要的Jar就可以!

解决Gitlab升级到7.9后出现500/502错误的方法

有两台服务器都装了Gitlab,第一台服务器在升级到Gitlab后出现500/502错误,在重装重导入数据都没有办法解决的情况下,只好作罢全新重新安装了一次,中间倒数据过程苦不堪言.今天再次对另外一台服务器做升级的居然也出现了同样的问题,在正常的rpm Uvn gitlab.rpm reconfigure/restart过程都没有任何问题的情况,居然也出现了500/502错误,感觉应该是Gitlab出现Bug了,于是Gitlab tail下监控发现错误如下: NoMethodError (und

DB2卸载重装后重建原来的数据库报错

我在电脑上装了DB2然后建了一个库ASF后来因为某些操作DB2不能用了,我就只能卸载后重新安装db2,安装完后想重新建库ASF,但却报错,提示我数据库以及存在,可我在控制台中确看不到.我想是我卸载时没有卸干净,我现在不知道怎么办了,请高手一定帮忙.谢谢:) ----------------------------------------------- 1.进入db2cmd,输入命令db2 list db directory,看是否有数据库ASF 2.如果有,则在控制中心中使用,在"数据库&quo

oracle迁移数据库后启动报错ora-600[25025]解决办法

迁移脚本的日志中报错RMAN-06571: datafile 78 does not have recoverable copy,经查看发现78号文件曾经被offline drop掉.于是重建控制文件,在控制文件中把78号文件去掉,重建控制后,数据库能够mount,mount后数据文件是一致,但是open 时会报错ora-600,异常宕掉. SYS@mydbtst> alter database open; alter database open * ERROR at line 1: ORA-0