PHP でなぜかjsonエラー
- リンクを取得
- ×
- メール
- 他のアプリ
外部サーバ上では動作
サーバに設置されているコードをテストしていて、おかしなエラーが出ることに気づいた。
Message: Call to undefined function json_encode()
って、何で?って感じ…。
今回、新たに立てたVPSでは、Ubuntu20.04 + Apache2 + PHPで問題なく動作している。
その前のサーバも、同様な構成で動作している。
いつも使っているLocalマシン上で動作しない。
気持ち悪いし、テストできないので、原因追及をする。
このマシンだけは、2年前ほどに新規に調達したマシンで、当初よりUbuntu18.04で運用。
昨年20.04にdist upgradeしたマシン。
Cleanに入れてはいないので、その影響かも…。
phpinfo()を実行すると、jsonの項目がない。
そりゃ、動かないよね。
そこで、端末から念の為、入れてみる。
$ sudo apt install php7.4-json
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
php7.4-json はすでに最新バージョン (7.4.27-1+ubuntu20.04.1+deb.sury.org+1) です。
アップグレード: 0 個、新規インストール: 0 個、削除: 0 個、保留: 0 個。
おや?入っているという。
$ sudo apt list | grep json
php-json-schema/focal,focal,now 5.2.9-1 all [インストール済み、自動]
php-json/focal,focal,now 2:8.0+91+ubuntu20.04.1+deb.sury.org+1 all [インストール済み]
php-services-json/focal,focal,now 1.0.3-1build1 all [インストール済み]
php5.6-json/focal 5.6.40-57+ubuntu20.04.1+deb.sury.org+1 amd64
php7.0-json/focal 7.0.33-57+ubuntu20.04.1+deb.sury.org+1 amd64
php7.1-json/focal 7.1.33-44+ubuntu20.04.1+deb.sury.org+1 amd64
php7.2-json/focal,now 7.2.34-28+ubuntu20.04.1+deb.sury.org+1 amd64 [インストール済み、自動]
php7.3-json/focal 7.3.33-1+ubuntu20.04.1+deb.sury.org+1 amd64
php7.4-json/focal,now 7.4.27-1+ubuntu20.04.1+deb.sury.org+1 amd64 [インストール済み]
php7.4-json/focal 7.4.26-1+ubuntu20.04.1+deb.sury.org+2 i386
; configuration for php json module
; priority=20
extension=json.so
コメント
コメントを投稿
励みになりますので、簡単で良いので一言くださいませ。