Ответ 1
В начале вашего сценария вы можете добавить.
ini_set('MAX_EXECUTION_TIME', '-1');
Я продолжаю получать эту ошибку PHP:
Неустранимая ошибка: превышено максимальное время выполнения на 300 секунд
Я попытался установить параметры max_execution_time
и my max_input_time
в php.ini(оба apache и cli) на 0
, -1
и 4000
секунды каждый.
И я все еще получаю сообщение об ошибке:
Неустранимая ошибка: превышено максимальное время выполнения на 300 секунд
Кроме того, мой script работает более 300 секунд, прежде чем я получу это сообщение
Я запускаю script через командную строку.
Я также проверил свой phpinfo()
, поэтому посмотрю, какой php.ini
я использую.
Еще более интересно, что я попытался установить настройки max_execution_time
и max_input_time
на 5 секунд, а мой script будет работать за 5 секунд, прежде чем я получу:
Неустранимая ошибка: превышено максимальное время выполнения на 300 секунд
В начале вашего сценария вы можете добавить.
ini_set('MAX_EXECUTION_TIME', '-1');
Если вы используете WAMP, перейдите к:
Увеличьте max_execution_time
в php.ini
, затем перейдите к
C:\wamp\apps\phpmyadmin3.4.10.1\libraries
(изменить путь в соответствии с вашей установкой)
откройте config.default.php
и измените значение для $cfg['ExecTimeLimit']
на 0:
$cfg['ExecTimeLimit'] = 0;
Это решит проблему импорта PhpMyAdmin.
Пользователи Xampp
xampp\phpMyAdmin\
$cfg['ExecTimeLimit'] = 300;
$cfg['ExecTimeLimit'] = 0;
(или большее значение)Я столкнулся с аналогичной ситуацией, и выясняется, что Codeigniter (используемая мной инфраструктура PHP) фактически устанавливает свой собственный временной предел:
В system/core/Codeigniter.php строка 106 в версии 2.1.3 появляется:
if (function_exists("set_time_limit") == TRUE AND @ini_get("safe_mode") == 0)
{
@set_time_limit(300);
}
Поскольку не было другого способа избежать изменения основного файла, я удалил его, чтобы разрешить конфигурацию через php.ini, а также дать бесконечное максимальное время выполнения запроса CLI.
Я рекомендую записать это изменение где-нибудь в случае будущих обновлений версии CI.
Попробуйте выполнить следующие действия в script:
set_time_limit(1200);
Это правильный ответ:
перейдите к
c:\wamp\apps\phpmyadmin3.4.10.1\libraries\config.default.php
найдите и установите
$cfg['ExecTimeLimit'] = 0;
перезапустить все службы и сделано.
перейти к xampp/phpmyadmin/libraries/config.default.php
и внесите следующие изменения
from $cfg['ExecTimeLimit'] = ’300′;
to $cfg['ExecTimeLimit'] = ’0′;
Время выполнения по умолчанию для PHP CLI бесконечно.
Это устанавливает максимальное время в секундах, в течение которого может выполняться scriptпрежде чем он завершится синтаксическим анализатором. Это помогает предотвратить плохое письменные скрипты от привязки сервера. Значение по умолчанию - 30. При запуске PHP из командной строки значение по умолчанию равно 0.
http://gr.php.net/manual/en/info.configuration.php#ini.max-execution-time
Проверьте, запущен ли PHP в безопасном режиме, потому что он игнорирует все временные настройки exec, когда на нем.
ПОЛЬЗОВАТЕЛИ WAMP:
1) Перейдите в папку C:\wamp\apps\phpmyadmin
2) Откройте config.inc
3) Добавить $cfg ['ExecTimeLimit'] = 3600 '; к файлу.
4) Сохраните файл и перезапустите сервер.
Этот файл перезаписывает php.ini и будет работать для вас!
В моем случае, когда я столкнулся с этой ошибкой в Phpmyadmin, я попробовал MySQL-Front и успешно импортировал свою БД.
Примечание. Вы можете использовать предоставленные решения по этому вопросу для решения своей проблемы в Phpmyadmin.
Если выше ответы не будут работать, попробуйте проверить свой код. По моему опыту, наличие бесконечного цикла также вызовет эту проблему. Проверьте свою инструкцию else if.
В Codeignitor версии 3.0.x система /core/Codeigniter.php не содержит ограничения по времени, а также вставляет
ini_set('MAX_EXECUTION_TIME', -1);
не будет работать, поскольку codeignitor переопределит это со своей собственной функцией set_time_limit(). Поэтому либо вам нужно удалить эту функцию из codeignitor, либо просто вы можете вставить
set_time_limit('1000');
в начале файла php, если вы хотите изменить его на 1000 секунд. Установите время на 0 (ноль), если вы хотите запустить его столько, сколько захотите.
В Xampp, в php.ini вы также должны проверить mysql.connect_timeout. Так, например, измените его на:
mysql.connect_timeout = 3600
Это время будет всегда считаться в секундах (например, 1 час в моем примере)
ПОЛЬЗОВАТЕЛИ MAMP редактирование php.ini решает это - есть строка:
max_execution_time = 30; Максимальное время выполнения каждого script, в секундах
установив это на большее значение.
файл находится в php/php5.6.25/conf/php.ini(очевидно, вам нужно смачивать файл для используемой версии php, вы можете найти это из настроек MAMP.
Для локального AppServ
Перейдите в C:\AppServ\www\phpMyAdmin\library\config.default.php
Найдите $cfg['ExecTimeLimit']
и установите значение 0.
Так это будет выглядеть
$cfg['ExecTimeLimit'] = 0;
Для пользователей Xampp
1. Go to C:\xampp\phpMyAdmin\libraries
2. Open config.default.php
3. Search for $cfg['ExecTimeLimit'] = 300;
4. Change to the Value 300 to 0 or set a larger value
5. Save the file and restart the server
6. OR Set the ini_set('MAX_EXECUTION_TIME', '-1'); at the beginning of your script you can add.
Вы можете установить ограничение по времени:
ini_set('max_execution_time', 1000000000000000);