Максимальний час виконання в phpMyadmin


108

Коли я намагаюся виконувати (деякі) запити в phpMyadmin, я отримую цю помилку

Фатальна помилка: Максимальний час виконання 60 секунд перевищено у C: \ xampp \ phpmyadmin \ library \ dbi \ mysql.dbi.lib.php у рядку 140

тому що у мене дуже велика таблиця (понад 9 мільйонів записів)

Я відредагував файл C: \ xampp \ php \ php.ini

і змінив значення "максимум часу виконання" з 60 на 1000, потім перезавантажує PHP і все ще має ту ж помилку.

Будь-яке рішення?


1
Вам потрібно запустити перезапуск сервера. Після зміни конфігураційного чи ini-файлу.
4302836

Відповіді:


196

У мене така ж помилка, будь ласка, перейдіть на сторінку

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

Шукати : $cfg['ExecTimeLimit'] = 600;

Ви можете змінити "600" на будь-яке вище значення, наприклад "6000".

Максимальний час виконання в секундах - (0 без обмежень).

Це виправить вашу помилку.


1
Ви можете скористатися форматуванням коду, щоб зрозуміти, що таке код, а що не так :)
Протягом

24
Цілком зрозуміло (у заголовку файла), що ви не повинні редагувати цей файл. Натомість слід відредагувати config.inc.php, додавши цей рядок, як сказано в іншій відповіді
dsnunez

1
Перевірте мою відповідь нижче. Це шлях;)
M_R_K

3
Додавання цього config.inc.phpпункту до мене не зробило завдання. Модифікував config.default.phpдопомогу та працював.
Грізний

Для шляху wamp це wamp64\apps\phpmyadmin4.6.4\libraries\config.default.phpАБО ви можете знайти шлях до каталогу phpmyadmin, натиснувши wamp tray icon > Apache > Alias Directoriesта відредагуйте phpmyadmin. Також, як згадував dsnunez, краще редагувати config.inc.php--edit-- редагування 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
У мене були ті самі проблеми, за винятком набагато меншого набору даних (~ 120k рядків) - ваша відповідь, безумовно, значно покращила :).
Роб

Я отримав тайм-аут очікування сценарію для xampp для Windows під час натискання кнопки Огляд на столі ~ 130mb
Блокування Метью

На жаль, $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'. Постарайтеся визначити, є чи немає "apache" php.ini. Одне потенційне місце розташування:

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


1
на моєму xampp цей файл у C:\xampp\php\php.iniномері та рядку goto 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 та phw.

Це працює як магія!


Це насправді неправильно, має бути навпаки, 0означає, що немає строку виконання
user919426

2

У php.ini ви також повинні перевірити mysql.connect_timeout. Це відповідає за закриття розетки та повернення Fatal. Так, наприклад, змініть його на:

mysql.connect_timeout = 3600

Цей час завжди буде рахуватися в секундах, тому в моєму прикладі у вас є 1 година.


2

Що для мене працювало на WAMP - це зміни файлу: \ Wamp64 \ alias \ phpmyadmin.conf, рядки:

 php_admin_value max_execution_time 600
 php_admin_value max_input_time 600

Мені не довелося міняти файл бібліотеки.


1

Ймовірно, ви використовуєте XMAPP в якості сервісу, щоб перезапустити XMAPP належним чином, вам доведеться відкрити панель управління XMAPP і зняти прапорець як модулі "Svc" проти Apache, так і MySQL. Потім натисніть на вихід, тепер перезапустіть XMAPP і все закінчено.



1

'ZERO' протягом необмеженого часу.

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-запит.

500000 рядків просто зайняло мені 18 секунд, щоб імпортувати на локальний сервер, використовуючи цей метод.

(Створіть спочатку таблицю) - потім:

LOAD DATA LOCAL INFILE 'Path_To_Your_File.csv' 
INTO TABLE Your_Table_Name 
FIELDS TERMINATED BY ',' 
LINES TERMINATED BY '\n' 
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.