Inhaltsverzeichnis:
- Ändern des Zeitlimits für PHP-Sitzungen
- So ändern Sie andere PHP-Sitzungsparameter
- PHP-Funktionen und -Klassen deaktivieren
- So ändern Sie die PHP-Fehleranzeige
- So ändern Sie PHP-Ressourcengrenzwerte
Video: Häufige Fehler Playlist, Basics, Grundlagen | Mathe by Daniel Jung 2024
Im Folgenden finden Sie einige häufige PHP-Konfigurationsänderungen. Benötigen Sie einen Server, auf dem PHP ausgeführt wird, einschließlich der Änderung von Sitzungsparametern und Deaktivieren von Funktionen und Klassen.
Ändern des Zeitlimits für PHP-Sitzungen
Wenn Sie Sitzungen für Ihre Anwendung verwenden, werden die Daten normalerweise in Dateien auf dem Server gespeichert. obwohl dies auch in der php.ini konfiguriert werden kann.) Sitzungen sind von einem Garbage-Collection-Prozess betroffen, der alle toten Sitzungen bereinigt, zum Beispiel solche, die eine bestimmte Anzahl von Minuten nicht benutzt wurden.
Standardmäßig betrachtet der Speicherbereinigungsprozess Sitzungen mit einer Lebensdauer von 1, 440 Sekunden, dh der Benutzer muss 1, 440 Sekunden lang im Leerlauf sein und beim nächsten Versuch seine Sitzung kann abgelaufen sein oder nicht.
Eine häufige Änderung ist der Garbage Collection-Prozess, ty um es zu verlängern. Diese Änderung wird normalerweise in der serverweiten Konfiguration implementiert, kann aber auch auf Site-Ebene angewendet werden.
Das php. Ini-Einstellung, um dieses Verhalten zu steuern, ist
Sitzung. gc_maxlifetime = 1440
So ändern Sie andere PHP-Sitzungsparameter
Zahlreiche andere Parameter können festgelegt werden, um zu steuern, wie sich Sitzungen verhalten. Dinge wie Sitzungsdateien, die auf dem Server gespeichert sind und ob sie Cookies verwenden, können geändert werden. Zu den häufigeren Änderungen gehören das Festlegen der Domäne für das Sitzungscookie und der Name der Sitzung.
Beides wird normalerweise auf der Site-Ebene festgelegt. Der Standardwert für die cookie_domain ist leer, wie hier dargestellt:
Sitzung. Name = PHPSESSID Sitzung. cookie_domain =
PHP-Funktionen und -Klassen deaktivieren
Sie können das php. ini, um eingebaute Funktionen oder Klassen zu deaktivieren. Möglicherweise stellen Sie fest, dass Sie nicht möchten, dass Benutzer bestimmte PHP-Funktionen verwenden oder dass eine Sicherheitslücke in einer bestimmten Funktion entdeckt wurde. In jedem Fall können Sie die Funktion oder Klasse mit diesen Direktiven deaktivieren:
disable_functions = disable_classes =
Jede Funktion erwartet, dass eine kommagetrennte Liste von Funktionen oder Klassen deaktiviert wird. Beispielsweise möchten Sie möglicherweise die Funktion exec () deaktivieren. Die folgende Auflistung zeigt eine einfache PHP-Seite, um diese Funktionalität zu testen.
php $ passwd = exec ("ls -la / etc / passwd"); drucke "{$ passwd}n"; ? >
Wenn die Seite in einem Browser angezeigt wird, sieht sie wie folgt aus:
Ändern der php. ini zum Deaktivieren dieser Funktion bedeutet die Verwendung dieser Anweisung:
disable_functions = exec
Nach dem Neustart von Apache wird die Änderung wirksam. Das Neuladen der Seite führt nun zu der angezeigten Warnung.
Wenn Sie einen Hosting-Provider verwenden, ist die Funktion exec () möglicherweise bereits deaktiviert. Außerdem wird die Warnung möglicherweise nicht angezeigt, wenn in Ihrer PHP-Konfiguration keine Fehler angezeigt werden.
So ändern Sie die PHP-Fehleranzeige
Es gibt mehrere Konfigurationsanweisungen für die Fehleranzeige für PHP. Zum Beispiel würde ein Entwicklungsserver wahrscheinlich immer Fehler anzeigen. Dies wird mit der Anweisung display_errors gesetzt:
display_errors = On
Ein Produktivserver würde dem Benutzer wahrscheinlich niemals Fehler anzeigen:
display_errors = Off
Eine zugehörige Direktive ist die error_reporting-Direktive. Diese komplexe Anweisung informiert PHP darüber, was für Fehler angezeigt werden soll. Sie können PHP so konfigurieren, dass nur Fehler gemeldet werden, die schwerwiegend sind, oder Sie können kleinere Fehler wie Benachrichtigungen anzeigen.
Die Anweisung error_reporting ist etwas komplex. Siehe PHP. net für weitere Informationen, wenn Sie diese Anweisung ändern müssen.
So ändern Sie PHP-Ressourcengrenzwerte
Es gibt Zeiten, in denen Sie die maximal zulässige Dateigröße ändern müssen, wenn die Datei über ein POST-Formular empfangen oder direkt hochgeladen oder auf andere Weise empfangen wird. Die Anweisung upload_max_filesize legt die maximale Dateigröße fest, die hochgeladen werden kann, während die Direktive post_max_size die maximale Größe eines Formular-POST festlegt. Wenn Sie zulassen, dass Formulare Dateien hochladen, müssen Sie wahrscheinlich beide Richtlinien ändern.
Außerdem können Sie feststellen, dass Sie die Speichergrenzen ändern müssen, die einem bestimmten PHP-Skript oder der Ausführungszeit eines Skripts auferlegt werden. Wenn ein Benutzer beispielsweise eine große Datei hochlädt, kann dies mehrere Minuten dauern. Die memory_limit-Direktive legt die Speichermenge fest, die von einem PHP-Programm verwendet werden kann, und die max_execution_time-Direktive legt fest, wie lange ein Programm laufen kann.
Sie können die maximale Zeit für ein Skript ändern, indem Sie die max_execution_time im PHP ändern. ini oder mit der Funktion set_time_limit () in einem einzelnen Skript. Die set_time_limit () - Funktion ist eine übliche Methode, um das Problem eines lang laufenden Skripts zu lösen, während der serverweite Wert der max_execution_time-Direktive beibehalten wird.