CakePHP допустимая ошибка размера памяти

Я использую 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: только …

0

Решение

В таких случаях это помогает временно поместить этот метод в AppController:

public function appError($method, $messages) {
die('Application error: called handler method ' . $method);
}

Это обычно дает мне подсказку, где искать дальше.

1

Другие решения

Отредактируйте php.ini и установите memory_limit в значительной степени, чем установлено в настоящее время.

Как набор memory_limit = 512M

Обновить

увеличить max_execution_time

0

После появления подобной ошибки, похоже, что проблема существует в 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 Функция в этом файле. Я закомментировал строки, которые установили это, что решило проблему для меня.

0

У меня была такая же ошибка, и это помогло:
Я просто поменяла $this->set('votingBookings') в $this->set('bookings') в файле контроллера. надеюсь, что это поможет кому-нибудь. Люблю ТАК и хочу внести свои 2 цента. ура :D

0
По вопросам рекламы [email protected]