Articles of Утечка

PHP: утечка памяти в рекурсивной функции

У меня есть рекурсивная функция, которая с учетом идентификатора создает путь к каталогу. Дело в том, что он не освобождает пространство, поэтому, начиная с потребления памяти 15 МБ после 1761 папок, потребление памяти составляет около 150 МБ, что не является здоровым. это функция: private function buildDirectoryPath($iId, $sDir = "") { $oFolder = Folders::getFolder($iId); if (!empty($sDir)) […]

Свободная память PHP после отмены

Его небольшой код для теста: $strings = array('<big string here (2 Mb)'); $arr = array(); //–> memory usage here is 17.1Mb (checked by pmap) echo memory_get_usage();//0.5Mb //(i know, that other 16.6Mb of memory used by process are php libraries) for($i = 0; $i < 20; ++$i) { $strings_local = array_merge($strings, array($i)); $arr[$i] = $strings_local; unset($strings_local); […]

Является ли память, выделенная PHP одним запросом, всегда выпущенным в конце?

Я немного запутался в утечке памяти в PHP. Я читал, что PHP автоматически освобождает память, используемую в каждом запросе, благодаря Zend Memory Manager: http://www.webreference.com/programming/php_mem/2.html Но я вижу много людей и темы (даже здесь, в SO), связанные с PHP и утечками памяти. Поэтому я чувствую, что что-то теряю. Возможно ли иметь утечки памяти в PHP между […]

Эффективно подсчитывает количество строк текстового файла. (200mb +)

Я только что узнал, что мой скрипт дает мне фатальную ошибку: Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 440 bytes) in C:\process_txt.php on line 109 Эта строка такова: $lines = count(file($path)) – 1; Поэтому я думаю, что с трудом загружает файл в память и подсчитывает количество строк, есть ли более […]

Как найти, какой PHP-скрипт утечка памяти?

Мой выделенный сервер имеет 32 ГБ оперативной памяти, и память постоянно растет и постоянно растет, и я должен перезагружать ее ежедневно. Это стоит мне клиентов и денег. Мне трудно найти, где утечка памяти. Все, что я могу найти в Интернете, – это люди, которые говорят «Использовать xdebug», но я не смог найти xdebug-учебники по обнаружению […]