Heim >Datenbank >MySQL-Tutorial >Warum können ini_set(\'max_execution_time\') und set_time_limit() die Konfiguration auf einem Remote-Server nicht ändern?
ini_set() und set_time_limit() ignorieren Konfigurationsänderungen auf dem Remote-Server
Bei Verwendung von ini_set('max_execution_time', 50) oder set_time_limit( 50) lokal gibt die Funktion ini_get('max_execution_time') wie erwartet 50 zurück. Auf einem anderen Server wird jedoch der Standardwert 30 wiedergegeben, wobei die angegebene Einstellung außer Acht gelassen wird.
Grund:
Die Unfähigkeit, die max_execution_time-Konfiguration mit ini_set() und zu ändern set_time_limit() ergibt sich aus dem Vorhandensein des abgesicherten Modus. Der abgesicherte Modus ist eine PHP-Konfiguration, die bestimmte Vorgänge einschränkt, einschließlich der Änderung von Laufzeiteinstellungen wie max_execution_time über ini_set().
Workaround:
Um dieses Problem zu umgehen, haben Sie zwei Optionen:
Zusätzlicher Hinweis:
Die gleiche Einschränkung gilt für die Funktion set_time_limit(), wie im PHP-Handbuch angegeben:
"Diese Funktion hat keine Wirkung, wenn PHP läuft im abgesicherten Modus. Es gibt keine andere Lösung, als den abgesicherten Modus auszuschalten oder das Zeitlimit in der php.ini zu ändern
Das obige ist der detaillierte Inhalt vonWarum können ini_set(\'max_execution_time\') und set_time_limit() die Konfiguration auf einem Remote-Server nicht ändern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!