Я использую CakePHP 2.3
Я получаю эту ошибку при доступе к веб-сайту CakePHP:
Неустранимая ошибка PHP: допустимый объем памяти в 134217728 байт исчерпан (попытка выделить 4386075 байт) в C: \ inetpub \ wwwroot \ mysite \ lib \ Cake \ Event \ CakeEventManager.php в строке 246
Это не похоже на цикл, похоже на что-то, связанное с сессиями, так как происходит сбой сразу после попытки чтения переменной сеанса с $this->Session->read('Auth.User.isAdmin')
,
До этого я могу распечатать и die()
без проблем.
Обновить:
Неустранимая ошибка PHP: допустимый объем памяти 536870912 байт исчерпан (попытка выделить 12273327 байт) в C: \ inetpub \ wwwroot \ tlm \ lib \ Cake \ Event \ CakeEventManager.php в строке 246
Обновление 2
После установки предела 1500М
Неустранимая ошибка PHP: недостаточно памяти (выделено 1307312128) (попытка выделить 23778447 байт) в C: \ inetpub \ wwwroot \ tlm \ lib \ Cake \ View \ View.php в строке 926
Неустранимая ошибка PHP: максимальное время выполнения 30 секунд превышено в C: \ inetpub \ wwwroot \ tlm \ lib \ Cake \ Error \ ErrorHandler.php в строке 116
Обновление 3
Я использую PHP 5.5.6. После обновления до CakePHP 2.6 путем замены lib
Папка, я получаю одну и ту же ошибку несколько раз, и после примерно 30 строк этой же ошибки, я получаю одну память.
Строгие стандарты PHP: только переменные должны назначаться по ссылке в C: \ inetpub \ wwwroot \ tlm \ app \ Plugin \ Combinator \ View \ Helper \ CombinatorHelper.php в строке 33
Строгие стандарты PHP: только …
Строгие стандарты PHP: только …
Неустранимая ошибка PHP: допустимый объем памяти 134217728 байт исчерпан (попытка выделить 3704512 байт) в C: \ inetpub \ wwwroot \ tlm \ lib \ Cake \ View \ View.php в строке 958
Строгие стандарты PHP: только переменные должны назначаться по ссылке в C: \ inetpub \ wwwroot \ tlm \ app \ Plugin \ Combinator \ View \ Helper \ CombinatorHelper.php в строке 33
Строгие стандарты PHP: только …
Строгие стандарты PHP: только …
В таких случаях это помогает временно поместить этот метод в AppController:
public function appError($method, $messages) {
die('Application error: called handler method ' . $method);
}
Это обычно дает мне подсказку, где искать дальше.
Отредактируйте php.ini и установите memory_limit
в значительной степени, чем установлено в настоящее время.
Как набор memory_limit = 512M
Обновить
увеличить max_execution_time
После появления подобной ошибки, похоже, что проблема существует в CakeSession.php строка 489:
throw new CakeSessionException(sprintf(
__d('cake_dev', 'Unable to configure the session, setting %s failed.'),
$setting
));
Кажется, это вызывает бесконечный цикл, и выход из него остановит его. Я не знаю точно, почему это вызывает цикл, но причина в том, что CakePHP не может установить некоторые из ваших переменных php.ini, используя ini_set
, Если вы распечатываете $setting
а также $value
на этом этапе вы сможете увидеть, каковы переменные проблемы. Для меня это было session.auto_start
который был установлен в _defaultConfig
Функция в этом файле. Я закомментировал строки, которые установили это, что решило проблему для меня.
У меня была такая же ошибка, и это помогло:
Я просто поменяла $this->set('votingBookings')
в $this->set('bookings')
в файле контроллера. надеюсь, что это поможет кому-нибудь. Люблю ТАК и хочу внести свои 2 цента. ура :D