json_decode在本地服务器中不起作用

时间:2013-12-16 04:08:55

标签: php netbeans apache2 json

我刚刚在Ubuntu中安装了我的第一个LAMP和NetBean。我导入了一个小型网站并尝试在本地和远程运行它,但使用json_decode(和其他功能)的页面在本地服务器上不起作用。

例如此页:

<?php
echo "X ";
var_dump(json_decode("{}"));
echo " Y";
?>

在受管服务器上显示X object(stdClass)#1 (0) { } Y,但在本地服务器上仅显示X

我ctrl +点击json_decode函数名称,文件json.php以空json_decode函数打开。我不明白这只是界面的定义还是真正的函数(我正在学习PHP),但是渲染在那里停止而没有错误信息的事实听起来很奇怪。

更新:

我卸载了this page中“重新开始”部分列出的所有软件包,并重新安装了sudo tasksel install lamp-server

第二天发生了大规模的自动更新。我不知道安装和更新之间是否存在关联,或者无论如何都会进行更新。

现在我仍处于同一位置:某些页面在本地正确呈现,但我的网站几乎在每个页面都使用json,因此我无法使用本地服务器。 (我希望能够在接下来的日子里使用它,当时我将访问公婆,互联网仍然是一个未知的概念。)

更新2:

前面提到json_decode()空体的事实不是问题。我刚刚右键单击session_start();,文件session.php打开,其函数定义为function session_start () {}。我不明白为什么库函数包含空体,但session_start()有效,所以json_decode()也应该。

3 个答案:

答案 0 :(得分:0)

尝试单独安装json扩展。我认为它在Ubuntu上被称为php-services-json,所以运行apt-get install php-services-json

答案 1 :(得分:0)

您没有看到“Y”的事实可能表示您的json_decode期间发生了致命错误(您可以在脚本顶部使用ini_set("display_errors",1);来确定)

致命的可能是:

PHP Fatal error: Call to undefined function json_decode()

对该错误进行一些Google搜索。如果我对这个致命的错误是对的,那么这篇文章可能会有所帮助:

PHP Fatal error: Call to undefined function json_decode()

答案 2 :(得分:0)

尽量不要使用LAMP并手动安装apache2尝试是否有效,也许LAMP包会给你带来麻烦。那就是你不怕一些额外的工作。

如果他们禁止任何事情你也可以查看你的配置。