2011-09-05 49 views
-1

不知道爲什麼,但在我的VPS服務器和我的本地MacBook Pro。代碼工作 ,但只要我在共享客戶端服務器上使用它,我得到這個錯誤。問題與共享服務器和地穴

<br /> 
<b>Notice</b>: Undefined variable: njahhya in <b>/clientdata/zeus-dynamic-1/i/n/incard.com.au/www/telesales/system/classes/core.php</b> on line <b>13</b><br /> 
0<br /> 
<b>Notice</b>: Undefined index: task in <b>/clientdata/zeus-dynamic-1/i/n/incard.com.au/www/telesales/system/classes/core.php</b> on line <b>68</b><br /> 

我知道,他們使用一個共享的服務器,所以我並不感到驚訝,但我真的需要它的工作,有什麼解決辦法?

$key = "$2a$07$ikuatfc$"; 
$this->password = crypt($password, $key); 
+0

不是每個服務器都有'BLOWFISH'可用。請參閱手冊:http://php.net/manual/en/function.crypt.php#example-4093(雖然,我希望他們這樣做...) –

+1

此外,你應該嘗試一個單引號的字符串:'' $ key ='$ 2a $ 07 $ ikuatfc $';'所以你不會得到可變的擴展。 –

回答

2

我敢肯定,第一個通知是"$2a$07$ikuatfc$"在雙引號的結果。在雙引號中的變量插值:

$foo = 'bar'; 
echo "Hello $foo"; // Hello bar 

"$2a$07$ikuatfc$"充滿可能變量名。您應該用單引號將其寫入以避免可變插值:'$2a$07$ikuatfc$'

更大的問題很可能是您的開發計算機上error reporting已關閉,而生產服務器上的錯誤報告默認情況下處於打開狀態。在開發過程中打開錯誤報告,修復所有錯誤,在生產中關閉錯誤報告。

+0

*內插*,*擴展* ...相同的東西。 –