Я получаю эту ошибку:
Error: [CakeSessionException] Unable to configure the session, setting session.auto_start failed.
Я использую CakePHP 2.2.4.
РЕДАКТИРОВАТЬ
Кажется, у этого парня была такая же проблема: Cakephp Session error на live-сайте и использование этого
if(!isset($_SESSION)) session_start();
внутри метода beforefilter
AppController
исправить ошибку.
Поэтому мой вопрос: почему это произошло? Все работало нормально, а затем грубо, эта ошибка появилась. Кроме того, я понял, что папка app/tmp/sessions
пуста, и я настроил сеанс, который будет обрабатываться Cake (в Config/core.php
).
В PHP версии 5.4.19 – разработчики закрыли возможность установки параметра session.auto_start из пользовательского скрипта.
CakePHP удалил эту опцию из конфигурации сеанса по умолчанию только в версии 2.4.0.
Таким образом, у вас есть 3 основных варианта: обновить CakePHP, понизить PHP или использовать стандартный сеанс php.
Ответ Андрея Струка верен. Он сказал: « Итак, у вас есть 3 основных варианта: обновить CakePHP, понизить PHP или использовать стандартные сеансы PHP.
Но есть 4-й вариант , вы можете просто прокомментировать одну строку в /lib/Cake/Model/Datasource/CakeSession.php
(около строки 557):
// 'session.auto_start' => 0,
Это останавливает Cake, вызывающий ini_set()
в этом параметре, и предотвращает фатальную ошибку.
Как сказал ответ Андрея , вы должны обновить CakePHP или понизить PHP. Однако, если вы не хотите или не имеете возможности, вам нужно перенастроить сеанс Cake, чтобы он использовал стандартные сессии PHP, а не сессию Cake.
приложение / Config / core.php
Configure::write('Session', array( 'defaults' => 'cake', // You need to change the value of this to 'php' 'timeout' => 120, 'cookieTimeout' => 20160, 'checkAgent' => false ));
В файле php.ini попробуйте установить session.auto_start
в 1.
поскольку у меня недостаточно репутации для комментариев, я добавляю следующий ответ в дополнение к Симону:
чтобы заставить его работать, мне пришлось прокомментировать все три вхождения «session.auto_start» => 0 (вокруг и после строки 557 в CakeSession.php)
Для получения дополнительной информации см. Следующий патч команды CakePHP: https://github.com/cakephp/cakephp/commit/faa2cbd3c3fc1bbf83064727847789123110b8e3#diff-bd8dc176fa0f41743dbaafa75f77b5ae