2010-09-18 44 views
0

我想我使用PHP會話時遇到了問題,因爲我已經將cPanel安裝在同一臺服務器上,並且我相信它具有防止對/ tmp的寫入訪問的額外安全性我可以設置一個新文件夾,但我不確定該文件夾應具有哪些權限/所有者。爲PHP創建新的tmp文件夾以供使用?

也應該在哪裏它理想地位於?

回答

1

/tmp應該總是是可訪問的。您當然可以在應用程序附近的某處創建一個新的「tmp」文件夾。只要確保它不在Web根目錄中。給它讀/寫權限並將其發送給網絡服務器的用戶。

然後您需要將session_save_path更改爲新的「tmp」文件夾。

+0

顯然cPanel限制訪問/ tmp作爲安全防範。當我安裝.sh文件(位於其他地方,但需要在/ tmp中創建文件)時,我遇到了類似的問題。所以,/ temp不是一個好主意? – tzmatt7447 2010-09-18 08:45:02

1

看,兄弟。
您正在從錯誤的方向抽出此日誌。猜測永遠不會幫助你。

有一件東西叫做錯誤信息
你迫切需要與它取得聯繫。
它會告訴你所有會話無法工作的原因。

如果它是一個真正的/ tmp目錄的問題,PHP得到了TIS情況下,一個特殊的錯誤消息:

警告:無法寫入會話數據(文件)。請確認的session.save_path的當前設置是正確的(/ tmp目錄))

如果你得到這個消息時,你可以肯定,它是你的會話的原因不工作,你就可以開始修復它。

它對於錯誤的會話處理程序也有錯誤消息。以及其他所有問題。

所以,你必須先得到錯誤信息。然後讀它nd它讓你知道,你有什麼某些問題。十分簡單。

作爲一個快速的解決方法,你可以使用此代碼在屏幕上帶來錯誤信息

error_reporting(E_ALL); 
ini_set('display_errors',1); 

但僅調試這個情況,然後將其刪除。錯誤消息不應該在生產服務器的屏幕上輸出。
所以,學會閱讀錯誤日誌。我相信你的服務器把所有的錯誤信息放入error_log。只要找到它並尋找PHP錯誤。

+0

謝謝sis - 但這沒有幫助。我有這樣的設置和PHP是_不輸出錯誤消息。 – tzmatt7447 2010-09-18 09:00:54

+0

+1我笑得這麼辛苦。 – halfdan 2010-09-18 09:05:51

+0

也許是時候在基本的PHP調試中啓動CW了。太多的「它壞了,解決它」的問題,在錯誤日誌中的簡單戳戳會告訴所有需要修復的東西。 – 2010-09-18 15:19:51