![在我的系统上启用 json_decode()](https://linux22.com/image/506227/%E5%9C%A8%E6%88%91%E7%9A%84%E7%B3%BB%E7%BB%9F%E4%B8%8A%E5%90%AF%E7%94%A8%20json_decode().png)
我正在一台我实际上无法控制的服务器上进行开发... 大约 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++
先添加到您的系统。