Довольно просто, не пытайтесь открыть сессию в режиме CLI. Это не будет работать по нескольким причинам. Таким образом, вы можете сделать 2 вещи (в зависимости от того, насколько «грязным» хаком вы хотели):
if (!isset($argc)) {
//Not from CLI
session_start();
}
Или установите путь сеанса к чему-либо доступному для записи (например, /tmp
), если через cli:
if (isset($argc)) {
session_save_path('/tmp');
}
Но я бы предложил не подавлять все ошибки (error_reporting(0)
), потому что это сделает отладку и сообщение, когда что-то пойдет не так, намного сложнее ... Я бы также предложил не использовать @
для подавления ошибок (просто потому, что Я думаю, что вы должны избегать ошибок, а не подавлять их)