PHP-Zeitlimitfunktionen auf Remote-Server unwirksam
Beim Festlegen von Zeitlimits mit set_time_limit(50) oder ini_set('max_execution_time', 50) Lokal ergibt das Abrufen von max_execution_time den gewünschten Wert. Auf einem anderen Server wird jedoch auf den Standardwert (30 Sekunden) zurückgesetzt, wodurch diese Funktionen unwirksam werden.
Erklärung
Das Problem entsteht aufgrund des Abgesicherter ModusEinstellung auf dem Remote-Server. Im abgesicherten Modus von PHP ist es nicht möglich, die Einstellung max_execution_time mit ini_set() zu ändern. Diese Einschränkung gilt auch für set_time_limit().
Problemumgehung
Um dieses Problem zu beheben, gibt es zwei Möglichkeiten:
Grund für die Einschränkung des abgesicherten Modus
Der abgesicherte Modus wurde in PHP eingeführt, um die Sicherheit zu erhöhen, indem bestimmte Aktionen eingeschränkt werden, die von Skripten ausgeführt werden können. Zu diesen Sicherheitsmaßnahmen gehört das Verhindern der unbegrenzten Ausführung von Skripten.
Hinweis: Im PHP-Handbuch heißt es eindeutig, dass sowohl set_time_limit() als auch ini_set('max_execution_time', 50) im sicheren Zustand keine Wirkung haben Der Modus ist aktiviert. Die einzige Lösung besteht darin, den abgesicherten Modus zu deaktivieren oder das Zeitlimit in der Datei php.ini anzupassen.
Das obige ist der detaillierte Inhalt vonWarum sind „set_time_limit' und „ini_set(\'max_execution_time\')' auf meinem Remote-Server bei aktiviertem abgesicherten Modus wirkungslos?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!