Максимальное время выполнения в phpMyadmin

108

Когда я пытаюсь выполнить (некоторые) запросы в phpMyadmin, я получаю эту ошибку

Неустранимая ошибка: превышено максимальное время выполнения 60 секунд в C: \ xampp \ phpmyadmin \ libraries \ dbi \ mysql.dbi.lib.php в строке 140

потому что у меня очень большая таблица (более 9 миллионов записей)

Я отредактировал файл C: \ xampp \ php \ php.ini

и изменил значение «максимального времени выполнения» с 60 на 1000, затем перезапустил PHP и все еще имел ту же ошибку.

Любое решение?

Ахмед
источник
1
Вам необходимо перезагрузить сервер. После изменения в config или ini файле.
4302836

Ответы:

197

У меня такая же ошибка, перейдите по ссылке

xampp \ phpMyAdmin \ библиотеки \ config.default.php

Искать : $cfg['ExecTimeLimit'] = 600;

Вы можете изменить «600» на любое более высокое значение, например «6000».

Максимальное время выполнения в секундах (0 без ограничения).

Это исправит вашу ошибку.

user1900623
источник
1
Вы можете использовать форматирование кода, чтобы прояснить, что такое код, а что нет :)
span
25
Совершенно ясно (в заголовке файла), что вы не должны редактировать этот файл. Вместо этого вы должны отредактировать config.inc.php, добавив эту строку, как сказано в другом ответе
dsnunez
1
Проверьте мой ответ ниже. Это путь;)
M_R_K
3
Добавление этого к config.inc.phpне помогло мне. Модификация config.default.phpпомогла и сработала.
Spurious
Для пути wamp wamp64\apps\phpmyadmin4.6.4\libraries\config.default.phpИЛИ вы можете найти путь к своему каталогу phpmyadmin, щелкнув wamp tray icon > Apache > Alias Directoriesи отредактировав phpmyadmin. Также, как упомянул dsnunez, лучше редактировать config.inc.php- редактировать config.inc.php- у меня не работало редактирование
AbsarAkram
107

Для версии Xampp в Windows

Добавьте эту строку в xampp \ phpmyadmin \ config.inc.php

$cfg['ExecTimeLimit'] = 6000;

И измените xampp \ php \ php.ini на

post_max_size = 750M 
upload_max_filesize = 750M   
max_execution_time = 5000
max_input_time = 5000
memory_limit = 1000M

И измените xampp \ mysql \ bin \ my.ini

max_allowed_packet = 200M
М_Р_К
источник
1
У меня были точно такие же проблемы, за исключением гораздо меньшего набора данных (~ 120 тыс. Строк) - ваш ответ определенно сделал все намного лучше :).
Роб
Я получил тайм-аут скрипта для xampp для Windows мгновенно при нажатии кнопки «Обзор» в таблице ~ 130 МБ
Мэтью Лок,
К сожалению $cfg['ExecTimeLimit'] = 6000;, это никак не повлияло на мою установку. Я бы предпочел установить его локально, чем в php.ini, который применяется ко всему серверу, но, возможно, это единственный вариант.
Саймон Ист
1
Не уверен, что все делает, но вы получили мой голос :-)
nawissor
13

Я столкнулся с той же проблемой при выполнении завивки. Я понял это правильно, когда изменил в php.iniфайле следующее:

max_execution_time = 1000 ;

а также

max_input_time = 1000 ;

Вероятно, ваша проблема должна быть решена путем внесения двух вышеуказанных изменений и перезапуска сервера apache.

Даже после изменения вышеуказанного проблема сохраняется, и если вы думаете, что это из-за некоторой операции с базой данных с использованием mysql, вы также можете попробовать изменить это:

mysql.connect_timeout = 1000 ; // this is not neccessary

Все это следует изменить в файле php.ini и перезапустить сервер apache, чтобы увидеть изменения.

Сони Мэтью
источник
7

Ваше изменение должно работать. Однако потенциально существует несколько файлов конфигурации php.ini со стеком xampp. Попытайтесь определить, существует ли php.ini, специфичный для apache. Одно из возможных мест:

C: \ xampp \ apache \ bin \ php.ini

Брайан
источник
1
на моем xampp этот файл входит и идет C:\xampp\php\php.iniномер строки 442 (приблизительно - некоторое время этот номер строки будет изменен после ручного редактирования), max_execution_time = 1000 но это не работает для меня. Тогда я попробую это на C: \ xampp \ phpMyAdmin \ config.inc.php$cfg['Servers'][$i]['bs_temp_blob_timeout'] = 1200;
Эльшан
5

Для изменения php.iniвеб-приложения требуется перезапуск Apache.

Вы должны убедиться, что изменение имело место, запустив сценарий PHP, который выполняет функцию phpinfo(). Вывод этой функции сообщит вам множество параметров PHP, включая значение тайм-аута.

Вы также могли изменить копию того php.iniже файла, который используется Apache.

Билл Карвин
источник
5

ini_set('max_execution_time', 0);или создайте имя файла с именем php.iniи введите первую строку, max_execution_time=0затем сохраните ее и поместите файл в корневую папку вашего приложения.

Вот и все. Удачи.

Картикеян
источник
3
Есть set_time_limit()функция. Нет необходимости (ab) использовать ini_set().
ThiefMaster
3

Хорошо для пользователя Wamp,

Перейти к: wamp\apps\phpmyadmin3.3.9\libraries

По строке 536, locate $cfg['ExecTimeLimit'] = 0;

и измените значение с 0 на 6000. например

$cfg['ExecTimeLimit'] = 0;

Чтобы

$cfg['ExecTimeLimit'] = 6000;

Перезагрузите сервер wamp и уф.

Это работает как по волшебству!

Оласунканми
источник
На самом деле это неверно, должно быть наоборот, 0означает отсутствие ограничения по времени выполнения
user919426 04
2

В php.ini вы также должны проверить mysql.connect_timeout. Это отвечает за закрытие сокета и возврат Fatal. Так, например, измените его на:

mysql.connect_timeout = 3600

Это время всегда будет считаться в секундах, поэтому в моем примере у вас есть 1 час.

Andymnc
источник
2

Что сработало для меня на WAMP, так это изменение файла: \ Wamp64 \ alias \ phpmyadmin.conf, строки:

 php_admin_value max_execution_time 600
 php_admin_value max_input_time 600

Менять файл библиотеки мне не пришлось.

Casso
источник
1

Вероятно, вы используете XMAPP в качестве службы. Чтобы перезапустить XMAPP должным образом, вам нужно открыть панель управления XMAPP и снять отметку с обоих mdodules «Svc» для Apache и MySQL. Затем нажмите на выход, перезапустите XMAPP, и все готово.

Джамал
источник
1

«НОЛЬ» на неограниченное время.

C: \ Apache24 \ htdocs \ phpmyadmin \ библиотеки \ Config.class.php

/**
 * maximum execution time in seconds (0 for no limit)
 *
 * @global integer $cfg['ExecTimeLimit']
 */
$cfg['ExecTimeLimit'] = 0;

Вы также можете импортировать большой файл прямо из MySQL как запрос или запрос PHP.

Импорт 500 000 строк с использованием этого метода занял у меня 18 секунд.

(сначала создайте таблицу) - затем:

LOAD DATA LOCAL INFILE 'Path_To_Your_File.csv' 
INTO TABLE Your_Table_Name 
FIELDS TERMINATED BY ',' 
LINES TERMINATED BY '\n' 
KDawg
источник