Übersicht
Bestimmte Standard-PHP-Einstellungen können für eine Anwendung unzureichend sein. So kann es z. B. notwendig sein, große Dateiuploads zu akzeptieren oder Fehler auf dem Bildschirm anzuzeigen, um ein schnelles Prototyping in frühen Phasen einer Anwendung zu ermöglichen.
Lösung
Die PHP-Einstellungen können auf 2 Arten geändert werden, jeweils mit unterschiedlichem Umfang. Alle Einstellungen außer open_basedir
und speicher_limit
kann eingestellt werden.
.htaccess
Erstellen einer .htaccess-Datei genannt .htaccess
innerhalb der Dokumentenstamm für eine bestimmte Domäne. Die Regeln werden rekursiv auf alle Assets innerhalb dieses Verzeichnisses angewendet. Wenn Domänen oder Unterdomänen in diesem Verzeichnis verschachtelt sind, werden die Regeln auch auf diese zusätzlichen Domänen angewendet.
Ein spezieller Anwendungsfall ist das Erstellen einer Datei namens
.htaccess
in/var/www
die Regeln auf alle Subdomains und Domains anwenden, die sich irgendwo innerhalb von/var/www
. Dies ist eine großartige, effektive Möglichkeit, globale Anpassungen an allen Webinhalten vorzunehmen und ebenfalls mit minimalem Aufwand abzuschalten.
PHP-Direktiven gibt es in 2 Formen: php_value
und php_flag
. php_flag
schaltet einen Wert ein oder aus und nimmt 1 von 2 Werten an: Auf
oder Aus
.
Beispiel: php_flag display_errors On
In diesem Beispiel werden die aufgetretenen Fehler im Browser angezeigt.
php_value
nimmt einen nicht umschaltbaren Wert an, der alles sein kann. Umgeben Sie diese Werte immer mit Anführungszeichen (“…”), um sicherzustellen, dass der Wert korrekt geparst wird.
Beispiel: php_value upload_max_filesize "50M"
In diesem Beispiel wird die maximal unterstützte Dateigröße für Uploads auf 50 MB erhöht.
Per-Skript
Einstellungen können auf ein einzelnes PHP-Skript innerhalb eines Ordners angewendet werden über ini_set(). ini_set
() benötigt 2 Parameter, eine Direktive und einen Wert, und muss auf die Datei angewendet werden, die mit .php
. PHP-Befehle stehen immer nach der Eröffnungsdeklaration, . Es ist ähnlich wie oben, aber im Gegensatz zu php_flag
oben, On ist einfach wahr
und Aus ist falsch
.
Beispiel:
Am Anfang eines PHP-Skripts, ini_set()
werden Befehle injiziert, um die Datei-Upload-Größe zu erhöhen, die Anzeige von Fehlern im Browser zu unterdrücken und alle Fehler zu protokollieren.
Siehe auch