PHP – 已删除的扩展和 SAPIs


PHP 每个新版本都会添加新的功能,同时会删除某些过时功能。PHP 版本 7 是删除了许多 PHP 扩展和 SAPI(服务器端应用程序编程接口)的主要版本。在随后的 PHP 8 版本中,也删除了更多扩展。

PHP 扩展是一个库或插件,用 C/C++ 编写,并编译成共享库,以便可以加载到 PHP 解释器中。PHP 解释器启动后,扩展中的函数即可用于 PHP 脚本。

这些扩展会定期删除,因为它们要么不再维护,要么已被更现代的替代方案所取代。例如,与 PHP 7 相吻合,ereg 扩展被 preg 扩展取代,mssql 扩展被 PDO_MSSQL 扩展取代。

已删除的扩展

以下扩展已从 PHP 7 中删除 -

  • ereg 扩展名替换为 preg
  • mssql 扩展已替换为 pdo_mssql
  • mysql 扩展 mysqli
  • sybase_ct 替换为 pdo_sybase

从 PHP 8 开始,已删除以下扩展 -

扩展 描述
Mcrypt Mcrypt 扩展用于加密和解密,但自 PHP 7.1 起已被弃用,由于安全漏洞,它在 PHP 8 中删除。
MDB2 由于缺乏维护,早期用于访问 MDB 数据库文件的 MDB2 扩展在 PHP 8 中删除。
Ming 由于 Flash 现在不流行,用于生成 Flash 内容的 Ming 扩展从 PHP 5.5 开始就被弃用,并在 PHP 8 中删除。
Phar Data Phar Data 扩展用于访问 PHAR 档案中的数据,但在 PHP 8 中已被删除,因为还有其他方法可以访问 PHAR 数据。
SNMP 因为它没有被维护,所以 SNMP 扩展在 PHP 8 中已被删除。
Tidy 由于添加了用于 HTML 验证的新库,因此在 PHP 中删除了 Tidy 扩展。
Tokenizer 出于同样的原因,Tokenizer 扩展在 PHP 8 中也被删除了。
cURL cURL 扩展在 PHP 8.1 中被删除,因为它不再维护。

已删除 SAPI

SAPI 代表 PHP 中的服务器端应用程序编程接口。SAPI 负责将 PHP 代码转换为 Web 服务器可以理解的内容。它解析 PHP 代码并调用相应的 Web 服务器函数。然后,Web 服务器会生成一个 HTTP 响应,该响应将发送回客户端。

从 PHP 7 开始,已删除以下 SAPI(服务器端应用程序编程接口)-

  • aolserver
  • apache
  • apache_hooks
  • apache2filter
  • caudium
  • cgi
  • cgi-fcgi
  • fastcgi
  • isapi
  • litespeed
  • nsapi
  • pwsapi
  • router
  • thttpd
  • uwsgi
  • webserver
  • apache2filter
  • continuity
  • isapi
  • milter
  • nsapi
  • pi3web
  • roxen
  • thttpd
  • tux
  • webjames