it-swarm.com.ru

Увеличьте максимальное время выполнения для php

Я добавил функцию set_time_limit(0);, чтобы увеличить время выполнения, но его выполнение занимает максимум 2-3 минуты.

error_reporting(E_ALL);
error_reporting(1);
set_time_limit(0);

Я хочу искать ссылки с сайта, который берет длинную лайм.

Любая помощь будет принята с благодарностью. 

Большое спасибо.

58
Bajrang

PHP файл (например, my_lengthy_script.php)

ini_set('max_execution_time', 300); //300 seconds = 5 minutes

.htaccess file

<IfModule mod_php5.c>
php_value max_execution_time 300
</IfModule>

Дополнительные параметры конфигурации

<IfModule mod_php5.c>
php_value post_max_size 5M
php_value upload_max_filesize 5M
php_value memory_limit 128M
php_value max_execution_time 300
php_value max_input_time 300
php_value session.gc_maxlifetime 1200
</IfModule>

Если WordPress, установите это в файле config.php,

define('WP_MEMORY_LIMIT', '128M');

Если drupal, sites/default/settings.php

ini_set('memory_limit', '128M');

Если вы используете другие фреймворки,

ini_set('memory_limit', '128M');

Вы можете увеличить объем памяти как гигабайт.

ini_set('memory_limit', '3G'); // 3 Gigabytes

259200 означает: -

( 259200/(60x60 minutes) ) / 24 hours ===> 3 Days

Подробнее в моем блоге

203
Sumith Harshan

Добавьте эти строки кода в ваш файл htaccess. Я надеюсь, что это решит вашу проблему.

<IfModule mod_php5.c>
php_value max_execution_time 259200
</IfModule>
10
Salman Aslam

Ну, поскольку вы находитесь на общем сервере, вы ничего не можете с этим поделать. Обычно они устанавливают максимальное время выполнения, чтобы вы не могли его переопределить. Я предлагаю вам связаться с ними.

3
Mob

ну, есть два способа изменить max_execution_time.
1. Вы можете напрямую установить его в файле php.ini.
2. Во-вторых, вы можете добавить следующую строку в ваш код. 

ini_set('max_execution_time', '100')
1
Nishu Tayal

Вероятно, в вашем веб-сервере установлен предел. Некоторые браузеры/прокси также реализуют тайм-аут. Вызывать долго выполняющиеся процессы через HTTP-запрос просто глупо. Правильный способ решения проблемы (при условии, что вы не можете ускорить обработку) - это использовать HTTP-запрос для запуска обработки вне группы сеансов веб-сервера, а затем опрашивать состояние по HTTP, пока не получите набор результатов.

0
symcbean

Это старый вопрос, но если кто-то найдет его сегодня, есть вероятность, что php будет запускаться через php-fpm и mod_fastcgi. В этом случае ничто здесь не поможет с увеличением времени выполнения, потому что Apache прервет соединение с процессом, который ничего не выводит в течение 30 секунд. Единственный способ его расширения - изменить -idle-timeout в конфиге Apache (module/site/vhost).

FastCgiExternalServer /usr/lib/cgi-bin/php7-fcgi -socket /run/php/php7.0-fpm.sock -idle-timeout 900 -pass-header Authorization

Подробнее - Увеличить время ожидания простоя PHP-FPM

0
seven