[解決済み] PHP Fatal error: 未定義の関数 json_decode() への呼び出し
質問
Apache がログを記録している
PHP Fatal error: Call to undefined function json_decode()
. ググってみたところ、この問題はphpのバージョンが最新でないことが原因のようです。変な話ですが
php --version
出力
PHP 5.5.1-2+debphp.org~precise+2 (cli) (built: Aug 6 2013 10:49:43)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2013 Zend Technologies
with Zend OPcache v7.0.2-dev, Copyright (c) 1999-2013, by Zend Technologies
with Xdebug v2.2.3, Copyright (c) 2002-2013, by Derick Rethans
を明確に示し、私の
php
よりも大きい。
5.1
.
この原因について何か思い当たること、またはそれを調べるための手順があれば教えてください。
EDIT: スクリプトでphpversionをエコーした結果は
5.5.1-2+debphp.org~precise
EDIT: の結果は
phpinfo()
はまた
PHP Version 5.5.1-2+debphp.org~precise+2
さらに
phpinfo()
で、モジュールの JSON とモジュール作者 (Omar Kilani, Scott MacVicar) をリストアップしています。
解決方法は?
Ubuntuを使用していますか?
簡潔にお答えします。
sudo apt-get install php7.2-json
(または
php7.1-json
または
php5-json
は、お使いの PHP のバージョンによって異なります)
それからもちろん Apache を再起動します。 :
sudo service apache2 restart
または、PHP-FPMを使用している場合。
sudo service php7.2-fpm restart
(または
php7.1-fpm
または
php5-fpm
)
説明
Debian は、ライセンスの衝突のため、PHP 5.5rc2 で以前の JSON 拡張を削除しました。
は JSONライセンス には、次のような条項があります。
本ソフトウェアは、悪のためではなく善のために使用されなければならない。
という問題が発生します。 フリーソフトウェアファウンデーションのフリーソフトウェアの定義 という記述があります。
プログラムを、どんな目的でも実行できる自由(自由度0)。
FSFはさらに JSONのライセンスが不自由であることを明確に示しています。 .
そうですね、ちょっとバカみたいですね。それでも Debian は、非準拠の JSON 拡張を削除し、その代わりに 代替エクステンション というように、機能的に同等なものです。
はっきり言って、PHP自体がJSONを削除したわけではありません。 まだマスターにある . これは、ディストロ/パッケージマネージャの問題です。
私たちはjsonを削除していませんし、jsonをサポートしないphpのバージョンをリリースすることはありません。5.5でのいかなる変更も、あなたが使用しているディストロのパッケージングによるものであり、私たちがコントロールできるものではありません。
詳細
http://iteration99.com/2013/php-json-licensing-and-php-5-5/
http://liorkaplan.wordpress.com/2013/06/01/bye-bye-non-free-php-json-extension/
https://bugs.php.net/bug.php?id=63520
http://philsturgeon.co.uk/blog/2013/08/fud-cracker-php-55-never-lost-json-support
関連
-
[解決済み】phpのob_start()の使い道は?
-
[解決済み】空の配列要素を削除する
-
[解決済み】「初期通信パケットの読み込み」でMySQLサーバーに接続できなくなり、システムエラーになる。0
-
[解決済み】PHP フェイタルエラー。未定義の関数mssql_connect()をコールしています。
-
[解決済み] 警告:mysqli_fetch_array()は、パラメータ1がmysqli_resultであることを期待する、オブジェクトはで指定された。
-
[解決済み】既に開始されているPHPセッション【重複あり
-
[解決済み】PDOException SQLSTATE[HY000] [2002] そのようなファイルまたはディレクトリがありません。
-
[解決済み】PHPのクラスが見つからないが、インクルードされている
-
[解決済み] 致命的なエラーです。mysqli_result 型のオブジェクトを使用できません [終了] 。
-
[解決済み] "お知らせ 未定義変数"、"Notice: Notice: 未定義のインデックス", "Notice:未定義のインデックス", "Notice."。PHPを使用した「未定義のオフセット
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Notice: 非オブジェクトのプロパティを取得しようとしているエラー
-
[解決済み】接続の取得に失敗しました: php_network_getaddresses: getaddrinfo failed: 名前またはサービスが不明
-
[解決済み】move_uploaded_fileは、「failed to open stream: Permission denied" というエラーが出る
-
[解決済み】「セッションキャッシュリミッターを送信できません - ヘッダーはすでに送信されています」【重複】。
-
[解決済み】メンバ関数をnullで呼び出す?
-
[解決済み】Phpのincludeが機能しない? 関数がincludeされない
-
[解決済み】count()パラメータは配列かlaravelのcountableを実装したオブジェクトでなければならない
-
[解決済み】In_arrayが動作しない。
-
[解決済み] SSLエラー SSL3_GET_SERVER_CERTIFICATE:証明書の検証に失敗しました。
-
[解決済み] 致命的なエラーです。mysqli_result 型のオブジェクトを使用できません [終了] 。