当前位置: 首页 > 编程笔记 >

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

苏富
2023-03-14
本文向大家介绍php 升级到 5.3+ 后出现的一些错误,如 ereg(); ereg_replace(); 函数报错,包括了php 升级到 5.3+ 后出现的一些错误,如 ereg(); ereg_replace(); 函数报错的使用技巧和注意事项,需要的朋友参考一下

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

 类似资料:
  • 问题内容: 我有一个用于签署XML文档的Java应用程序。将Java升级到最新版本(Java7u25)后,它将停止工作。我收到以下错误: 恢复为java7u21解决了该问题。XML Dig Sig API中是否有任何导致此错误的更改? 问题答案: 这里同样的问题。由于不断发展,似乎是JVM内部的错误。 我已经将其归结为 在Java 7u21及之前的版本中: 在Java 7u25中: 指的是XML

  • 问题内容: 我今天从Java 1.6升级到Java 1.7。从那时起,当我尝试通过SSL建立到我的Web服务器的连接时发生错误: 这是代码: 这只是一个测试项目,这就是为什么我允许和使用不可信证书的原因: 我成功尝试连接到https://google.com。我的错在哪里? 谢谢。 问题答案: Java 7引入了默认情况下启用的SNI支持。我发现某些配置错误的服务器会在SSL握手中发送“无法识别的

  • 在macOS上的设置中,我使用了几个JDK,通过工具在它们之间切换,类似于本SO答案中描述的方法 升级到macOS Big Surv11.0.1后,我的JAVA_HOME设置停止工作,始终报告相同的java版本:

  • 我正在Mac OS X上运行。我最近将node和npm更新到了最新版本,按照以下已接受的回答步骤将node.js升级到Mac OS上的最新版本。node:和npm:现在当我运行我的Gulp文件时,我得到了这个错误: 有人知道这是什么问题吗?

  • 在我升级到Typescript 2.9.1(从2.8)之后,我得到了编译错误 当我使用typecript 2.7和2.8时,这从未发生过。 环境: MacOS 10.13.5 节点。JSV9。11.1 NPM:6.1.0 Typescript 2.9.1(在我的项目的文件夹中,没有全局Typescript)

  • 我正在尝试将项目从3.6.10版升级到4.3.6版,在应用程序启动时出现“提交失败”错误。而不是使用: ,为了获得会话,现在我正在使用: 事务由TransactionManager和Spring的NameMatchTransactionAttribute资源处理。 这是我得到的堆栈跟踪: 这是我的会话工厂bean配置:

  • 运行Firebase upgrade命令后,我尝试在模拟器中运行我的应用程序,出现了以下错误消息: 在调试模式下在 sdk gphone64 x86 64 上启动 lib\main.dart...运行 Gradle 任务 'assembleDebug'... /C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_core-1.24.

  • 问题内容: 我今天从Java 1.6升级到Java 1.7。从那时起,当我尝试通过SSL建立到我的Web服务器的连接时发生错误: 这是代码: 这只是一个测试项目,这就是为什么我允许和使用不受信任的证书以及代码的原因: 问题答案: Java 7引入了默认情况下启用的SNI支持。我发现某些配置错误的服务器会在SSL握手中发送“无法识别的名称”警告,大多数客户端会忽略此警告… Java除外。如@Bob