Ich habe die Funktion set_time_limit(0);
hinzugefügt, um die Ausführungszeit zu erhöhen, aber die Ausführung dauert maximal 2-3 Minuten.
error_reporting(E_ALL);
error_reporting(1);
set_time_limit(0);
Ich möchte nach Links von einer Site suchen, die eine lange Lime benötigt.
Jede Hilfe wäre sehr dankbar.
Danke vielmals.
PHP -Datei (zum Beispiel my_lengthy_script.php)
ini_set('max_execution_time', 300); //300 seconds = 5 minutes
.htaccess-Datei
<IfModule mod_php5.c>
php_value max_execution_time 300
</IfModule>
Weitere Konfigurationsoptionen
<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>
Wenn WordPress, setze dies in der config.php-Datei,
define('WP_MEMORY_LIMIT', '128M');
Wenn drupal, sites/default/settings.php
ini_set('memory_limit', '128M');
Wenn Sie andere Frameworks verwenden,
ini_set('memory_limit', '128M');
Sie können den Speicher als Gigabyte erhöhen.
ini_set('memory_limit', '3G'); // 3 Gigabytes
259200 bedeutet: -
( 259200/(60x60 minutes) ) / 24 hours ===> 3 Days
Fügen Sie diese Codezeilen in Ihre Htaccess-Datei ein. Ich hoffe, es wird dein Problem lösen.
<IfModule mod_php5.c>
php_value max_execution_time 259200
</IfModule>
Nun, da Sie sich auf einem gemeinsam genutzten Server befinden, können Sie nichts dagegen tun. Sie legen normalerweise die maximale Ausführungszeit fest, damit Sie sie nicht überschreiben können. Ich schlage vor, dass Sie sich an sie wenden.
nun, es gibt zwei Möglichkeiten, max_execution_time zu ändern.
1. Sie können es direkt in der php.ini-Datei einstellen.
2. Zweitens können Sie die folgende Zeile in Ihren Code einfügen.
ini_set('max_execution_time', '100')
In Ihrem Webserver ist wahrscheinlich ein Limit festgelegt. Einige Browser/Proxys implementieren auch ein Timeout. Das Aufrufen von lang laufenden Prozessen über eine HTTP-Anforderung ist einfach dumm. Der richtige Weg, das Problem zu lösen (vorausgesetzt, Sie können die Verarbeitung nicht schneller machen), besteht darin, die HTTP-Anforderung zu verwenden, um die Verarbeitung außerhalb der Webserver-Sitzungsgruppe auszulösen, und den Status über HTTP abzufragen, bis eine Ergebnismenge vorliegt.
Verwenden Sie mod_php7.c anstelle von mod_php5.c für PHP 7
Beispiel
<IfModule mod_php7.c>
php_value max_execution_time 500
</IfModule>
Dies ist eine alte Frage, aber wenn jemand es heute findet, besteht die Chance, dass PHP über PHP-Fpm und Mod_fastcgi ausgeführt wird. In diesem Fall hilft nichts dabei, die Ausführungszeit zu verlängern, da Apache die Verbindung zu einem Prozess beendet, der 30 Sekunden lang nichts ausgibt. Die Erweiterung ist nur möglich, um -idle-timeout in der Apache-Konfiguration (modul/site/vhost) zu ändern.
FastCgiExternalServer /usr/lib/cgi-bin/php7-fcgi -socket /run/php/php7.0-fpm.sock -idle-timeout 900 -pass-header Authorization
Weitere Details - Erhöhen Sie die Einstellung für das Leerlaufzeitlimit von PHP-FPM