2010-12-21 72 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