2012-05-16 4 views
0

Fatal error: Allowed memory size of 194217728 bytes exhausted (tried to allocate 261904 bytes) in C:\xampp\htdocs\test\ci\application\libraries\datamapper.php on line 5CI2 hmvc datamapper

В чем проблема? Он работает правильно, но при попытке запуска любых функций datamapper, которые возникают в результате ошибки.

Конфигурационной база данных правильно ../config/database.php

+0

DataMapper себе не использует так много памяти, другой, то для кода и внутренних структур данных. Вы не указываете код, вызывающий ошибку, но знаете, что каждая запись будет преобразована в объект. A get() из 10.000 записей - это, безусловно, плохая идея. Кроме того, нет никакого кода в строке 5 библиотеки DataMapper, так что-то странное происходит здесь ... – WanWizard

+0

вы правы, что ошибка возникает, когда я попытался сделать функцию Get() класс User расширяет DataMapper { public $ table = "user"; Функция get() { $ o = new Пользователь(); return $ o-> get(); } –

+0

когда я сделал return $ o-> get_where (array ('id' => 53), 1, "0"); } –

ответ

1

Это проблема памяти. Что-то в вашем коде есть память. Вы можете использовать memory_get_peak_usage() и memory_get_usage(), чтобы лучше понять, что происходит, или использовать профайлер, например xdebug + webgrind.

http://us3.php.net/manual/en/function.memory-get-usage.php http://us3.php.net/manual/en/function.memory-get-peak-usage.php https://github.com/jokkedk/webgrind