Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
25 / 9 / 17
Регистрация: 22.12.2015
Сообщений: 2,097
1

Fatal error: Maximum execution time of 30 seconds exceeded in

14.07.2018, 15:50. Показов 1438. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
файлы в 5 строк обработал быстро, а вот в парудесятко тысяч крутиться 5 минут окошко браузере и потом Fatal error: Maximum execution time of 30 seconds exceeded in T:\home\test1.ru\www\replace_str_file.php on line 5
$result = preg_replace($key_2, $val_2, $val_1);
как обработать большие обьемы данных?
Для теста вместо m2.txt ставим 11.txt
Вместо all_images_http.txt ставим 22.txt
смысл есть строка с 11.txt есть в подстроке 22.txt,то берем всю строку из 22.txt и заменяем нею строку в 11.txt
Скрипт на малых обьемах работает,а как подправить на большие обьемы?

txt.rar

PHP
1
2
3
4
5
6
7
8
<?php
$val_1 = array_map('trim', file('m2.txt'));
$val_2 = array_map('trim', file('all_images_http.txt'));
$key_2 = preg_replace('#^.*?/([^/]*)$#', '#^$1\$#', $val_2);
$result = preg_replace($key_2, $val_2, $val_1);
file_put_contents('m2.txt', implode("\n", $result));
echo "good";
?>
Вложения
Тип файла: txt m2.txt (1.0 Кб, 2 просмотров)
Тип файла: txt 11.txt (29 байт, 2 просмотров)
Тип файла: txt 22.txt (93 байт, 3 просмотров)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.07.2018, 15:50
Ответы с готовыми решениями:

Fatal error: Maximum execution time of 30 seconds exceeded
Привет всем! Пишу скрипт автоматической рассылки сообщений пользователям, недавно вступившим в...

Ошибка Fatal error: Maximum execution time of 900 seconds exceeded in
у меня есть цикл, который должен выполниться 8344 раза. как сделать, чтобы отработал цикл...

Робота через прокси, возникает ошибка Fatal error: Maximum execution time of 30 seconds exceeded in
Вот фрагмент кода в котором я через прокси пытаюсь загрузить содержимое http://www.site.ru но...

Maximum execution time of 30 seconds exceeded
Fatal error: Maximum execution time of 30 seconds exceeded in c:\wamp\www\BD.php on line 35 что то...

11
71 / 55 / 32
Регистрация: 13.04.2018
Сообщений: 521
14.07.2018, 18:52 2
Пропиши больше времени
в php.ini
PHP
1
max_execution_time = 60
Но будь осторожен,после 60 секунд некоторые браузеры прерывают соединения.
0
2 / 2 / 0
Регистрация: 22.06.2018
Сообщений: 15
15.07.2018, 01:34 3
Вставь в начале скрипта:
PHP
1
2
3
<?php
 
set_time_limit(300);
Удваивай 300 если не помогает 300, 600, 1200 ...
1
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
15.07.2018, 06:42 4
Запускайте "тяжёлые" скрипты через консоль. Там без ограничений времени.

P.S. Хотя про оптимизацию скриптов тоже не забывайте.
0
25 / 9 / 17
Регистрация: 22.12.2015
Сообщений: 2,097
15.07.2018, 09:00  [ТС] 5
Цитата Сообщение от Para bellum Посмотреть сообщение
P.S. Хотя про оптимизацию скриптов тоже не забывайте.
__________________
переделал скрипт
PHP
1
2
3
4
5
6
7
8
9
10
<?php
$val_2 = array_map('trim', file('all_images_http.txt'));
$replace = array_combine(preg_replace('#^.*?/([^/]*)$#', '$1', $val_2), $val_2);
$val_1 = array();
foreach(array_map('trim', file('miniatur.txt')) as $val) {
$val_1[] = $replace[$val] ?: $val;
}
file_put_contents('miniatur.txt', implode("\n", $val_1));
echo "good";
?>
0
2 / 2 / 0
Регистрация: 22.06.2018
Сообщений: 15
15.07.2018, 11:25 6
Цитата Сообщение от Para bellum Посмотреть сообщение
Запускайте "тяжёлые" скрипты через консоль. Там без ограничений времени.
Небольшая поправка. В консольных скриптах, судя по документации, просто установлен лимит = 0 (бесконечно). Следуя этой логике, ничего не запрещает менять лимит. Продолжая эту мысл, если установить
PHP
1
set_time_limit(10);
или
PHP
1
ini_set('max_execution_time', 10);
то получим ограничение на время исполнения.
0
25 / 9 / 17
Регистрация: 22.12.2015
Сообщений: 2,097
15.07.2018, 12:27  [ТС] 7
Цитата Сообщение от ruflash Посмотреть сообщение
то получим ограничение на время исполнения.
переписан скрипт под php 5 и все работает быстро и без зависаний.
PHP
1
2
3
4
5
6
7
8
9
10
<?php
$val_2 = array_map('trim', file('all_images_http.txt'));
$replace = array_combine(preg_replace('#^.*?/([^/]*)$#', '$1', $val_2), $val_2);
$val_1 = array();
foreach(array_map('trim', file('miniatur.txt')) as $val) {
$val_1[] = $replace[$val] ?: $val;
}
file_put_contents('miniatur.txt', implode("\n", $val_1));
echo "good";
?>
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
15.07.2018, 13:14 8
Цитата Сообщение от ruflash Посмотреть сообщение
Небольшая поправка.
Дополнение, Вы хотели сказать? Я думал, это слишком очевидно, потому и не сказал.
0
2 / 2 / 0
Регистрация: 22.06.2018
Сообщений: 15
15.07.2018, 15:34 9
Цитата Сообщение от Para bellum Посмотреть сообщение
Дополнение, Вы хотели сказать? Я думал, это слишком очевидно, потому и не сказал.
Нет, поправка. Фраза
Цитата Сообщение от Para bellum Посмотреть сообщение
Запускайте "тяжёлые" скрипты через консоль. Там без ограничений времени.
однозначно утверждает что в консоли ("Там") время не ограничивается "без ограничений времени". Без ограничений утверждение равносильно тому, что время никогда не ограничено. Следовательно - поправка, поскольку, время может быть ограничено.
0
25 / 9 / 17
Регистрация: 22.12.2015
Сообщений: 2,097
15.07.2018, 16:06  [ТС] 10
Цитата Сообщение от ruflash Посмотреть сообщение
однозначно утверждает что в консоли ("Там") время не ограничивается "без ограничений времени". Без ограничений утверждение равносильно тому, что время никогда не ограничено. Следовательно - поправка, поскольку, время может быть ограничено.
Поясните чайнику,как запускать скрипты в консоли?
0
2 / 2 / 0
Регистрация: 22.06.2018
Сообщений: 15
15.07.2018, 16:10 11
Цитата Сообщение от scherbakovss201 Посмотреть сообщение
Поясните чайнику,как запускать скрипты в консоли?
Кратко:
PHP
1
2
3
4
5
$ php my_script.php
или
$ php -f my_script.php
или
$ /usr/bin/php -f my_script.php  // для случая если не прописан путь к интерпритатору в путях
Полно:
http://php.net/manual/ru/features.commandline.php
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
15.07.2018, 21:05 12
Цитата Сообщение от ruflash Посмотреть сообщение
Без ограничений утверждение равносильно тому, что время никогда не ограничено.
Если банк выдаёт карту без ограничений по тратам, а чел дал себе слово, что потратит не более 1$, это не значит, что на карте есть ограничение. Просто чел сбредил и после этого ещё бросается всех уверять, что там есть ограничения.
1
15.07.2018, 21:05
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.07.2018, 21:05
Помогаю со студенческими работами здесь

Maximum execution time of 30 seconds exceeded
Всем привет! У меня ВДСка. Пытаюсь запустить скрипт загрузки файла, файл не загружается. В логах...

Maximum execution time of 180 seconds exceeded
Всем привет! Сегодня без изменений в скрипте начал вылетать парсер с таймаутом Fatal error:...

Увеличить время выполнения скрипта (Maximum execution time of N seconds exceeded)
Написал парсер для сайта, с библиотекой PHP Simple HTML DOM Parser. Все отлично работает, но...

Простой парсер выдает ошибку "Maximum execution time of 30 seconds exceeded"
Доброго времени суток, форумчане. Нуждаюсь в вашем совете. В общем написал простенький парсер для...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru