PHP – 已移除的扩展和SAPI



随着每个新版本的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_ctpdo_sybase 替换

从PHP 8开始,以下扩展已被移除:

  • Mcrypt - Mcrypt扩展用于加密和解密,但自PHP 7.1起已弃用,并在PHP 8中由于安全漏洞而被移除。

  • MDB2 - MDB2扩展以前用于访问MDB数据库文件,由于缺乏维护,在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验证库,Tidy扩展在PHP中被移除。

  • 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

广告