9 Stimmen

Was ist der Unterschied zwischen php.ini und .htaccess?

Angenommen, ich möchte den Wert von

php_value post_max_size 20M in .htaccess

post_max_size 20M in php.ini

Beide führen den gleichen Vorgang aus. Was ist also der Unterschied zwischen php.ini y .htaccess ?

15voto

Gumbo Punkte 617646

Die Konfiguration in der php.ini wird für den gesamten Server verwendet, während die Konfiguration in einer .htaccess Datei wird nur verwendet, wenn eine Anfrage an das Verzeichnis oder Unterverzeichnis geht, das .htaccess Datei befindet sich in.

Sie können also eine globale oder Standardkonfiguration in Ihrem php.ini und spezifische Konfigurationen für einzelne Verzeichnisse in .htaccess Dateien. Außerdem erlauben Webhosting-Anbieter oft keinen Zugriff auf die php.ini oder Serverkonfiguration, sondern erlauben nur .htaccess Dateien.

Aber beachten Sie die Konfigurationsmodi an die jede PHP-Konfiguration gebunden ist.

3voto

Zaje Punkte 2211

Die Konfigurationswerte in PHP.ini gelten für den gesamten Server, d. h. sie werden auf alle auf dem Server laufenden Sites angewendet. Die Konfigurationswerte in .htaccess gelten für einzelne Websites.

2voto

Erik Punkte 20180

Es hängt davon ab, wie PHP auf Ihrem Server installiert ist; wenn es als Apache-Modul installiert ist, dann verwenden Sie .htaccess-Dateien, um PHP-Direktiven zu erstellen, da .htacess von Apache gelesen und ausgeführt wird.

Wenn Sie PHP als CGI laufen lassen, verwenden Sie eine php.ini-Datei, da alles, was in .htaccess steht, keinen Einfluss auf Ihr PHP haben wird.

Sie können überprüfen, wie PHP installiert ist, indem Sie eine php-Datei mit phpinfo(); erstellen.

Dies bezieht sich nur auf lokale Überschreibungen für ein bestimmtes Verzeichnis; unabhängig davon, wie PHP installiert ist, liest es Ihre Hauptdatei php.ini.

2voto

Pratik Chheda Punkte 81

Apache ist der HTTP-Server. Er wird mit einer .htaccess-Datei konfiguriert, die sich im Stammverzeichnis der Website/Anwendung befindet, d. h. jede Anwendung hat ihre eigene .htaccess-Datei.

php.ini ist der schnellste Weg, die Funktionalität von PHP zu beeinflussen.

1voto

Pekka Punkte 429407

Das ist keine Antwort auf Ihre Frage, aber ein interessanter Hinweis, den ich selbst nicht kannte. Wenn Sie PHP unter Windows verwenden, ist es möglich, in der Registrierung Einstellungen für einzelne Verzeichnisse vorzunehmen. In der Handbuch :

Ändern der PHP-Konfiguration über die Windows-Registrierung

Wenn PHP unter Windows läuft, können die Konfigurationswerte für jedes Verzeichnis über die Windows-Registry geändert werden. Die Konfigurationswerte werden in dem Registrierungsschlüssel HKLM \SOFTWARE\PHP\Per Verzeichniswerte, in den Unterschlüsseln, die den Pfadnamen entsprechen. Zum Beispiel, Konfigurationswerte für das Verzeichnis c: \inetpub\wwwroot würde im Schlüssel HKLM \SOFTWARE\PHP\Per Verzeichniswerte \c\inetpub\wwwroot. Die Einstellungen für das Verzeichnis würden für jedes Skript gelten, das in diesem Verzeichnis oder einem Unterverzeichnis davon ausgeführt wird. Die Werte unter dem Schlüssel sollten den Namen der PHP-Konfigurationsrichtlinie und den String-Wert enthalten. PHP-Konstanten in den Werten werden nicht geparst. Allerdings können nur Konfigurationswerte, die in PHP_INI_USER geändert werden können, auf diese Weise gesetzt werden, PHP_INI_PERDIR-Werte nicht.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X