2013-12-16 71 views
0

我剛剛在Ubuntu中安裝了我的第一個LAMP和NetBean。我導入了一個小網站,並嘗試在本地和遠程運行它,但使用json_decode(和其他函數)的頁面在本地服務器上無法運行。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)的定義,但渲染停止在那裏,沒有錯誤消息,這聽起來很奇怪。

UPDATE:

我卸載在this page了「從頭開始」一節中列出的所有軟件包,並與sudo tasksel install lamp-server重新安裝。

第二天有一個大規模的自動更新。我不知道安裝和更新之間是否存在關係,或者更新是否會發生。

現在我仍處於相同的位置:某些頁面在本地正確呈現,但我的網站幾乎在每個頁面上都使用json,因此我無法使用本地服務器。 (我希望能在接下來的日子裏使用它,當我將訪問公婆,其中互聯網仍然是一個未知的概念。)

更新2:

事實上剛纔提到, json_decode()有一個空的身體不是問題。我只需右鍵點擊session_start();,文件session.php以function session_start() {}定義的函數打開。我不明白爲什麼庫函數包含空體,但是session_start()有效,所以json_decode()也應該如此。

+0

http://pecl.php.net/package/json – user602525

+0

@ user602525:'php_info()'說'PHP版本5.5.3-1ubuntu2'。我查看了json頁面,但我不知道該如何處理它。 – stenci

+0

你是如何安裝PHP的,你只是使用apt-get install php5? – user602525

回答

0

,你是不是看到了「Y」將您的json_decode期間可能表明一個致命的錯誤發生的歷史事實(你可以在你的腳本的頂部使用ini_set("display_errors",1);以確保)

致命大概是這樣的:

PHP Fatal error: Call to undefined function json_decode() 

請在錯誤一些谷歌上搜索。這篇文章可以幫助,如果我說得對的致命錯誤:

PHP Fatal error: Call to undefined function json_decode()

+0

好趕上,那是我會用'ini_set(「display_errors」,1);'(我不知道)的錯誤信息。用'sudo apt-get安裝php5-json'安裝缺少的json,並用'sudo service apache2 restart'重新啓動服務器完成了這項工作。謝謝! – stenci

0

嘗試單獨安裝json擴展。我想,這就是所謂的在Ubuntu php-services-json,所以運行apt-get install php-services-json

+0

我剛試過,沒有幫助 – stenci

0

儘量不要使用LAMP和安裝的Apache2手動嘗試,如果這樣的作品,也許LAMP包你造成麻煩。那就是如果你不害怕一些額外的工作。

你也可以檢查你的配置,如果他們禁止任何東西。

相關問題