Articles of memory

PHP для чтения и анализа большого размера файла?

Я собираюсь прочитать текстовый файл размером 200 Мб, а затем отредактировать что-то внутри, а затем сохранить его обратно. Но у меня есть ошибки. Так: Какие точные настройки следует изменить в php? Кроме того, какой метод чтения файлов лучше всего подходит для открытия и анализа больших файлов? Я имею в виду: фуд? file_get_contents?

Объемная вставка / обновление Doctrine 2

Рассмотрим этот код (завернутый внутри функции): $manager = $this->manager; // local ref $q = $manager->createQuery('select c from VendorFeedBundle:Category c'); $iterableResult = $q->iterate(); $i = 0; $batchSize = 500; foreach($iterableResult as $row) { $category = $row[0]; $struct = explode(' ' . $this->separator . ' ', $category->getPath()); unset($struct[count($struct) – 1]); $path = implode(' ' . $this->separator . […]

Должен ли я освобождать mysql-результат после его хранения?

Мне было интересно, нужно ли мне называть $stmt->free_result() после того, как я сохранил его результат с помощью $stmt->store_result() ? Могу ли я просто назвать $stmt->close() в конце? Причина, по которой я спрашиваю об этом, заключается в том, что когда я вызываю $stmt->num_rows я должен вызвать $stmt->store_result() как сказано здесь: http://www.php.net/manual/en/ mysqli-stmt.num-rows.php , но они не […]

Сбой PHP (или MySQL) при извлечении большой записи базы данных (~ 5 МБ)

Он не отображает никаких ошибок, просто пустую страницу. Я попробовал умереть ('test'), прежде чем я позвоню своей функции, чтобы получить запись, и она делает это, но когда я помещаю die ('test') после того, как я получаю строку, все, что я получаю, это пустая страница (on chrome it says this: Error 324 (net::ERR_EMPTY_RESPONSE): The server closed […]

Проблемы с памятью ORC ORK

Проблема: При запуске службы Daemon, которая использует Doctrine из нижеприведенных классов Factory, возникает проблема с памятью. Когда служба Daemon запускается, она запускается около 175 МБ. Через день это около 250 МБ, еще один день, и он составляет 400 МБ. Я смотрю, что вызывает увеличение памяти и как я могу ее сбить. Вещи, которые я пробовал: […]

Отладка использования памяти в mod_php

У меня есть обработчик запросов, запущенный в apache / mod_php, который иногда расширяется за пределы максимально допустимого использования памяти (т. Е. Определение memory_limit в php.ini). Обработка этого запроса вызывает proc_open () для запуска внешних команд. Используется ли использование памяти этими командами «против» использования памяти запросов? Помимо этого, каковы предпочтительные способы анализа и исправления использования памяти […]

Разбор больших текстовых файлов с PHP без убийства сервера

Я пытаюсь прочитать некоторые большие текстовые файлы (между 50M-200M), делая простую замену текста (по сути, xml, который у меня не был правильно экранирован в нескольких обычных случаях). Вот упрощенная версия функции: <?php function cleanFile($file1, $file2) { $input_file = fopen($file1, "r"); $output_file = fopen($file2, "w"); while (!feof($input_file)) { $buffer = trim(fgets($input_file, 4096)); if (substr($buffer,0, 6) == […]

Измерение максимального использования памяти PHP

Установка php_value memory_limit всегда включает в себя немного догадок, и я сам склонен использовать выше необходимых значений, чтобы убедиться, что голодный вызов нечетной памяти не приводит к фатальной ошибке. Тем не менее, я ищу сценарий оболочки, который будет вести себя как htop или top но вместо того, чтобы показывать текущие значения, он будет помнить только […]

Codeigniter Допустимый размер памяти, израсходованный при обработке больших файлов

Я отправляю это, если кто-то ищет такое же решение, потому что я просто потратил два дня на эту ерунду. У меня есть задание cron, которое обновляет базу данных, используя очень большой файл один раз в день, используя следующий код: if (($handle = fopen(dirname(__FILE__) . '/uncompressed', "r")) !== FALSE) { while (($data = fgets($handle)) !== FALSE) […]

Получить общую доступную системную память с помощью PHP в Windows

Используя PHP, я хотел бы получить доступную общую память для системы (а не только свободную или используемую память). В Linux это довольно прямолинейно. Ты можешь сделать: $memory = fopen('/proc/meminfo'); и затем проанализируйте файл. Кто-нибудь знает об эквивалентном методе для Windows? Я открыт для любых предложений. Edit: У нас есть решение (но StackOverflow не позволит мне […]