2010-12-21 95 views
3

有沒有可能禁用運行php cli腳本時顯示的會話警告?當然,不需要執行php.ini。我需要乾淨的輸出這個腳本。腳本不作爲Apache或Root運行。在php.ini中啓用了session.auto_start。PHP cli會話警告

我有以下錯誤:事先

PHP Warning: Unknown: open(/var/lib/php/session/sess_p6tpcdkpupelvho22qrkm699g4, O_RDWR) failed: Permission denied (13) in Unknown on line 0 
PHP Warning: Unknown: open(/var/lib/php/session/sess_p6tpcdkpupelvho22qrkm699g4, O_RDWR) failed: Permission denied (13) in Unknown on line 0 

謝謝!

+0

你是誰?你在腳本中使用會話嗎? – 2010-12-21 14:23:27

回答

7

很簡單,不要試圖在CLI模式下打開會話。它不會有多種原因。所以,你可以做兩件事情(取決於你如何想一個黑客的「髒」):

if (!isset($argc)) { 
    //Not from CLI 
    session_start(); 
} 

或者設置會話路徑的東西可寫(如/tmp)如果通過CLI:

if (isset($argc)) { 
    session_save_path('/tmp'); 
} 

但我建議不要抑制所有錯誤(error_reporting(0)),因爲它會進行調試並告訴什麼時候發生錯誤,所以更難...我還建議不要使用@來抑制錯誤(因爲我認爲你應該避免錯誤而不是壓制它們)

+0

Doens't幫助。請記住,在php.ini中啓用了會話自動啓動。我無法禁用它。 – basstradamus 2010-12-21 14:31:15