0

0

php8.5弃用了哪些功能_php8.5废弃函数及替代方案一览

星夢妙者

星夢妙者

发布时间:2026-03-05 17:12:01

|

865人浏览过

|

来源于php中文网

原创

php 8.5 正式移除 mysql_ 函数、each()、反引号命令执行、sleep/wakeup、createfunction()、mhash 常量及资源关闭函数,并强化类型校验与语法限制。

php8.5弃用了哪些功能_php8.5废弃函数及替代方案一览

PHP 8.5 正式移除了多个长期标记为废弃的功能,并对部分语法和行为施加了更严格的校验。这些变更不是突然生效的“断裂”,而是经过多版本预警后的最终清理——代码在 PHP 8.4 可能只报 Deprecated 警告,但在 8.5 中会直接触发 Fatal ErrorTypeError

明确被移除的函数与语法

以下功能在 PHP 8.5 中已完全不可用,调用即报错:

  • mysql_* 系列函数(如 mysql_connectmysql_query):已被彻底删除,无法通过扩展启用。必须改用 PDOmysqli
  • each():返回数组当前键值对并移动指针,因性能差、语义模糊被移除。替代方案是 foreach 或手动用 key()/current()/next() 组合。
  • 反引号语法 `command`:不再作为 shell_exec() 的别名。所有命令执行需显式调用 shell_exec()exec() 等函数。
  • __sleep()__wakeup():不再支持序列化/反序列化钩子。必须改用 __serialize()__unserialize()
  • create_function():动态生成函数存在严重安全风险,已彻底移除。统一替换为匿名函数或箭头函数(fn())。
  • MHASH_* 常量(如 MHASH_MD5):旧哈希扩展被弃用。应使用 hash()hash_hmac()openssl_digest()
  • 资源关闭函数:如 finfo_close()xml_parser_free()curl_close()imagedestroy() 等均已移除。对应资源现在是对象,由析构函数自动释放。

类型与参数层面的严格化变更

这些不是“函数被删”,但会导致运行时错误升级,极易被忽略:

Tago AI
Tago AI

AI生成带货视频,专为电商卖货而生

下载
  • array_key_exists(null, $arr):传 null 作键将抛出 TypeError。必须确保键为字符串或整型。
  • 标量类型转换名称过时(integer)(double)(boolean)(binary) 不再被识别。仅接受标准形式:(int)(float)(bool)(string)
  • 目录操作函数禁用 null 句柄:如 readdir(null)rewinddir(null)closedir(null) 均非法,必须传有效资源或对象。
  • 用户输出处理器返回值强制为字符串:自定义 ob_start() 回调若返回非字符串(如 intnull),将触发致命错误。

扩展与配置相关废弃项

影响底层行为或部署配置,需同步检查 php.ini 和扩展依赖:

立即学习PHP免费学习笔记(深入)”;

  • INI 指令被移除report_memleaksregister_argc_argv(HTTP-SAPI 下)、disable_classes 已失效。
  • ext/zip 过时函数下线:如 zip_close()zip_open() 等 C 风格函数被移除,全部改用 ZipArchive 对象方法。
  • 动态属性默认弃用:未声明的类属性(如 $obj->undefined_prop = 'x')将触发 Deprecated 警告;未来版本将禁止。
  • Directory 类限制增强:禁止 new Directory()、禁止克隆、禁止序列化、禁止动态属性。

常见替代方案速查表

遇到报错时可快速定位修复方向:

废弃写法 推荐替代 说明
mysql_query("SELECT ...") $pdo->query("SELECT ...")$mysqli->query("SELECT ...") 注意预处理防注入
$val = `ls -l`; $val = shell_exec('ls -l'); 显式调用,便于审计与错误处理
if (ereg("^a", $s)) { ... } if (preg_match('/^a/', $s)) { ... } PCRE 更强大且持续维护
create_function('$x', 'return $x*2;') fn($x) => $x * 2 箭头函数更安全、更简洁
array_map('strtolower', $arr) array_map(fn($v) => strtolower($v), $arr) 避免字符串回调带来的类型不安全

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
string转int
string转int

在编程中,我们经常会遇到需要将字符串(str)转换为整数(int)的情况。这可能是因为我们需要对字符串进行数值计算,或者需要将用户输入的字符串转换为整数进行处理。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

930

2023.08.02

css中float用法
css中float用法

css中float属性允许元素脱离文档流并沿其父元素边缘排列,用于创建并排列、对齐文本图像、浮动菜单边栏和重叠元素。想了解更多float的相关内容,可以阅读本专题下面的文章。

594

2024.04.28

C++中int、float和double的区别
C++中int、float和double的区别

本专题整合了c++中int和double的区别,阅读专题下面的文章了解更多详细内容。

105

2025.10.23

java中boolean的用法
java中boolean的用法

在Java中,boolean是一种基本数据类型,它只有两个可能的值:true和false。boolean类型经常用于条件测试,比如进行比较或者检查某个条件是否满足。想了解更多java中boolean的相关内容,可以阅读本专题下面的文章。

366

2023.11.13

java boolean类型
java boolean类型

本专题整合了java中boolean类型相关教程,阅读专题下面的文章了解更多详细内容。

42

2025.11.30

c语言中null和NULL的区别
c语言中null和NULL的区别

c语言中null和NULL的区别是:null是C语言中的一个宏定义,通常用来表示一个空指针,可以用于初始化指针变量,或者在条件语句中判断指针是否为空;NULL是C语言中的一个预定义常量,通常用来表示一个空值,用于表示一个空的指针、空的指针数组或者空的结构体指针。

252

2023.09.22

java中null的用法
java中null的用法

在Java中,null表示一个引用类型的变量不指向任何对象。可以将null赋值给任何引用类型的变量,包括类、接口、数组、字符串等。想了解更多null的相关内容,可以阅读本专题下面的文章。

1008

2024.03.01

java基础知识汇总
java基础知识汇总

java基础知识有Java的历史和特点、Java的开发环境、Java的基本数据类型、变量和常量、运算符和表达式、控制语句、数组和字符串等等知识点。想要知道更多关于java基础知识的朋友,请阅读本专题下面的的有关文章,欢迎大家来php中文网学习。

1561

2023.10.24

Rust内存安全机制与所有权模型深度实践
Rust内存安全机制与所有权模型深度实践

本专题围绕 Rust 语言核心特性展开,深入讲解所有权机制、借用规则、生命周期管理以及智能指针等关键概念。通过系统级开发案例,分析内存安全保障原理与零成本抽象优势,并结合并发场景讲解 Send 与 Sync 特性实现机制。帮助开发者真正理解 Rust 的设计哲学,掌握在高性能与安全性并重场景中的工程实践能力。

4

2026.03.05

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP课程
PHP课程

共137课时 | 13万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 11.3万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 1.0万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号