首頁  >  文章  >  後端開發  >  為什麼 PHP 會拋出「呼叫未定義函數 json_decode()」錯誤,即使版本高於 5.1?

為什麼 PHP 會拋出「呼叫未定義函數 json_decode()」錯誤,即使版本高於 5.1?

DDD
DDD原創
2024-11-01 07:11:30403瀏覽

Why does PHP throw a

「呼叫未定義函數json_decode()」

PHP 致命錯誤:無法解碼JSON h3>

PHP 錯誤「Call to undefined function json_decode()」表示PHP 無法辨識JSON 解析函數。儘管報告的 PHP 版本高於 5.1,其中包括 JSON 支持,但仍然可能會發生此錯誤。

Debian 刪除了JSON 擴充

在基於Debian 的系統(包括Ubuntu)中,由於許可衝突,標準JSON 擴充已從PHP 5.5rc2 刪除。 Debian 要求所有打包軟體符合 Debian 自由軟體指南 (DFSG)。

JSON 許可問題

原始 JSON 許可證包含一個條款,限制其使用「善,而非惡」。這與 DFSG 對自由軟體的定義相衝突,後者要求可以出於任何目的自由運行程式。因此,Debian 認為 JSON 許可證是非免費的。

替換 PHP 擴充

Debian 已替換標準 JSON使用符合 DFSG 的功能等效替代品進行擴充。要解決「json_decode()」錯誤,Debian 使用者需要為其PHP 版本安裝適當的替換擴充:


  • sudo apt-get安裝php7.2- json (PHP 7.2)

  • sudo apt-get install php7.1-json (PHP 7.1)

  • sudo apt -get install php5-json (PHP 5 .x)

Apache 重新啟動


  • sudo service apache2 restart (Apache)

  • sudo 服務php7.2 -fpm restart (PHP-FPM 7.2)

其他資訊

以上是為什麼 PHP 會拋出「呼叫未定義函數 json_decode()」錯誤,即使版本高於 5.1?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn