Предупреждения о сессиях PHP - PullRequest
3 голосов
/ 21 декабря 2010

Есть ли возможность отключить отображение предупреждений о сеансе при запуске скрипта php cli? Без модификации php.ini, конечно. Мне нужно иметь чистый вывод этого скрипта. Скрипт не запускается как Apache или Root. В php.ini включен session.auto_start.

У меня есть следующие ошибки:

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

Заранее спасибо!

1 Ответ

7 голосов
/ 21 декабря 2010

Довольно просто, не пытайтесь открыть сессию в режиме CLI. Это не будет работать по нескольким причинам. Таким образом, вы можете сделать 2 вещи (в зависимости от того, насколько «грязным» хаком вы хотели):

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

Или установите путь сеанса к чему-либо доступному для записи (например, /tmp), если через cli:

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

Но я бы предложил не подавлять все ошибки (error_reporting(0)), потому что это сделает отладку и сообщение, когда что-то пойдет не так, намного сложнее ... Я бы также предложил не использовать @ для подавления ошибок (просто потому, что Я думаю, что вы должны избегать ошибок, а не подавлять их)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...