2015-12-07 3 views
-1

Я пытаюсь сделать массивный выбор * {insert in ..} на php-странице, используя xampp (v 5.5.30) на окнах (64-битный, 4 Gb RAM).Ошибка: из памяти/соединение было сброшено

Через несколько минут я однако получить либо два сообщения об ошибках:

A) "соединение было разорвано" в браузерах, а иногда:

B) «mysql_query(): (HY000/2008): Недостаточно памяти ... "во время запроса на вставку.

В обоих случаях сам PHP скрипт останавливается даже при использовании директивы:

ignore_user_abort(true);

Я не могу понять, почему это происходит. Вещи, которые я попытался так как:

1) добавлен в мой апача конфигурационный файл:

<IfModule mpm_winnt_module> ThreadStackSize 8388608 </IfModule>, потому что в журнале ошибок я заметил линию в момент подключения сброса:

[Mon Dec 07 13:01:23.540742 2015] [mpm_winnt:notice] [pid 2344:tid 504] AH00428: Parent: child process 4036 exited with status 3221225477 -- Restarting.

[Mon Dec 07 12:09:39.584814 2015] [mpm_winnt:notice] [pid 1684:tid 528] AH00354: Child: Starting 150 worker threads.

кажется как эта ошибка связана с моей проблемой каким-то образом. Однако изменение файла конфигурации не помогло, и ошибка все еще появляется.

2) Измененные настройки PHP INI:

ini_set("memory_limit","750MB"); 

3) Удалены все кэш MySQL с помощью:

RESET QUERY CACHE 

4) Установить PHP тайм-аут:

set_time_limit(60*60); 

ошибка возникает после того, как уже несколько минут.

Дополнительное примечание: размер файла таблицы, используемый в основном select-query (mytable.MYD), составляет 400 МБ, из которых я использую только несколько столбцов в списке. Как только запрос загружается в память PHP, перед выполнением цикла while объем памяти составляет 60 Мб (с использованием памяти_get_usage())

Любая идея, что я могу сделать, чтобы решить эту проблему?

спасибо

+0

Вам не кажется, сделал какие-либо исследования в где проблема происходит, и не предоставил соответствующую информацию для поддержки какого-либо анализа проблемы. Пожалуйста, прочитайте http://stackoverflow.com/help/how-to-ask – symcbean

ответ

0

Вы также должны установить время выполнения.

набор исполнение времени 0, то функционально эквивалентно включение предела исполнения от полностью:

ini_set ('max_execution_time', 0);

Надеется, что это решит вашу проблема

+0

Привет, я боюсь, что это не сработало; Наверх моей страницы PHP я уже установил больше времени: set_time_limit (60 * 60) ;. Я должен отредактировать свой основной пост, чтобы добавить его – user2022678