2013-12-19 139 views
1

我使用下面的PHP反序列化問題PHP

$sum=30; 
$a = serialize($sum); 
file_put_contents('store', $a); 

而在另一個頁面序列化的變量我不能夠得到通過反序列化的變量function.In我的本地 服務器,它工作正常。但當我轉移到Live服務器,我不能夠得到的序列化variable.I我用下面的反序列化,

$s = file_get_contents('store'); 
$a = unserialize($s); 

問題是什麼?

+0

? (因爲有些東西不起作用。) – mario

+1

你對你正在工作的文件夾有足夠的權限,可能是寫權限不在那裏,那裏你的商店文件沒有在那裏創建 –

+0

所以做什麼創建存儲文件在服務器? – user1755949

回答

2

一般情況是:

  1. 該文件store無效的訪問權限,所以活服務器無法從中讀取數據。
  2. 服務器上的不同序列化機制。您是否使用igbinarysuhoshin擴展名?他們可以影響序列化/非序列化過程。
  3. PHP的Buggy版本。例如,從5.4.6到5.4.11的PHP版本有很多錯誤的串行化錯誤。
  4. 而最後一種情況是把文件無效的路徑,是否啓用'error_reporting`但細心一點,這個文件存在,可讀性檢查通過檢查is_readable('store');