Максимальное время выполнения в phpMyAdmin
Когда я пытаюсь выполнить (некоторые) запросы в phpMyAdmin, я получаю эту ошибку
Неустранимая ошибка: Максимальное время выполнения в 60 секунд превышено в C:\xampp\phpmyadmin\libraries\dbi\mysql.dbi.lib.php в строке 140
Потому что у меня очень большая таблица (более 9 миллионов записей)
Я отредактировал файл C:\xampp\php\php.ini
И изменил значение "максимальное время выполнения" с 60 до 1000, затем перезапускает PHP и все еще имеет то же самое ошибка.
Есть какое-нибудь решение?
11 answers
У меня та же ошибка, пожалуйста, перейдите по ссылке
Xampp\phpMyAdmin\libraries\config.default.php
Ищите : $cfg['ExecTimeLimit'] = 600;
Вы можете изменить "600" на любое более высокое значение, например "6000".
Максимальное время выполнения в секундах равно (0 без ограничений).
Это исправит вашу ошибку.
Для версии 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
Я столкнулся с той же проблемой при выполнении завитка.
Я все правильно понял, когда изменил следующее в файле php.ini
:
max_execution_time = 1000 ;
А также
max_input_time = 1000 ;
Вероятно, вашу проблему следует решить, внеся два вышеуказанных изменения и перезапустив сервер apache.
Даже после изменения вышеуказанного проблема сохраняется, и если вы думаете, что это связано с какой-либо операцией с базой данных с использованием mysql, вы также можете попробовать изменить это:
mysql.connect_timeout = 1000 ; // this is not neccessary
Все это должно быть изменено в php.ini файл и сервер apache должны быть перезапущены, чтобы увидеть изменения.
Ваше изменение должно сработать, несмотря на то, что потенциально существует несколько файлов конфигурации php.ini со стеком "xampp". Попытайтесь определить, существует ли определенный php.ini для "apache" или нет. Одним из потенциальных местоположений является:
C:\xampp\apache\bin\php.ini
Изменение php.ini
для веб-приложения требует перезапуска Apache.
Вы должны убедиться, что изменение произошло, запустив PHP-скрипт, который выполняет функцию phpinfo()
. Вывод этой функции сообщит вам множество параметров PHP, включая значение времени ожидания.
Возможно, вы также изменили копию php.ini
, которая не совпадает с файлом, используемым Apache.
ini_set('max_execution_time', 0);
или создайте имя файла с именем php.ini
и введите первую строку max_execution_time=0
, затем сохраните его и поместите файл в корневую папку вашего приложения.
Вот и все. Удачи.
В php.ini вы также должны проверить mysql.connect_timeout. Это отвечает за закрытие сокета и возврат фатального. Так, например, измените его на:
mysql.connect_timeout = 3600
Это время всегда будет отсчитываться в секундах, поэтому в моем примере у вас есть 1 час.
Вероятно, вы используете XMAPP в качестве службы, чтобы правильно перезапустить XMAPP, вам нужно открыть панель управления XMAPP и отменить проверку mdodules "Svc" на соответствие Apache и MySQL. Затем нажмите на выход, теперь перезапустите XMAPP, и все готово.
"НОЛЬ" в течение неограниченного времени.
C:\Apache24\htdocs\phpmyadmin\libraries\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'
Хорошо для пользователя Wamp,
Перейдите к: wamp\apps\phpmyadmin3.3.9\libraries
Под строкой 536, locate $cfg['ExecTimeLimit'] = 0;
И измените значение от 0 до 6000. например
$cfg['ExecTimeLimit'] = 0;
До
$cfg['ExecTimeLimit'] = 6000;
Перезапустите сервер wamp и фу.
Это работает как по волшебству!
Перейдите к xampp/php/php.ini
Найдите эту строку:
max_execution_time=30
И измените его значение на любое число, которое вы хотите. Перезапустите Apache.