在我的系统上启用 json_decode()

在我的系统上启用 json_decode()

我正在一台我实际上无法控制的服务器上进行开发... 大约 3 个月前,我刚开始在一家 Kiosk 公司工作。我习惯在本地主机 (MAMP) 上进行开发,然后将其移植到我的托管公司。

我最近编写了一个利用 json_decode() 的脚本,但我正在使用的服务器似乎不支持这种方法……

Fatal error: Call to undefined function json_decode() in /var/www/html/scripts/generate_excel.php on line 25

我查看了 phpinfo(),在我的本地主机上它有“json 支持”,而在此服务器上,phpinfo() 中没有提到 json。php 版本略有不同...

5.1.6(json 不起作用)与 5.2.10(json 起作用)

这些版本之间是否添加了 json 支持?

我需要做什么才能使 json_decode()/json_encode() 在这台服务器上正常工作?

我对这种事情并不擅长,我尝试远离配置任何东西,并在可以的时候坚持代码......

编辑:

现在我在使用 phpize 时遇到了麻烦。老实说,我不确定 phpize 到底是什么...

无论如何...

[root@rm-003-33 html]# pecl install json
WARNING: channel "pear.php.net" has updated its protocols, use "pecl channel-update pear.php.net" to update
downloading json-1.2.1.tgz ...
Starting to download json-1.2.1.tgz (17,780 bytes)
......done: 17,780 bytes
11 source files, building
running: phpize
sh: phpize: command not found
ERROR: `phpize' failed

不知道如何让 phpize 工作

谢谢

答案1

您可以使用 Pecl 安装旧版本的 JSON 库,或者为任何免费库编写包装器并执行如下简单检查:

如果(!function_exists('json_decode')){
   函数 json_decode($str){
      // 添加用于解码 EHRE 的库代码
   }
}
如果(!function_exists('json_encode')){
   函数 json_encode($obj){
      // 在此处添加用于编码的库代码
   }
}

答案2

您必须gcc-c++先添加到您的系统。

相关内容