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

廣告