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