it-swarm.com.de

Was macht "SetEnv PHPRC" und wie wird es verwendet?

Ich habe einen Kunden mit technischen Kenntnissen, der sich gerne Dateien ansieht und versteht, wie sie funktionieren.

Gestern haben wir Ninja Firewall in ihrem WordPress installiert und ihr Webhost-Server-Setup benötigt SetEnv PHPRC für den php.ini-Pfad in der .htaccess-Datei. Ich hätte gerne eine Erklärung von SetEnv PHPRC in Plain English für meinen Kunden, aber meine Forschung hat nur ein bisschen davon und ein bisschen davon und keine klaren Erklärungen geliefert.

PHPRC ist ein Ersatz für php.ini, ... Die Websites scheinen zu erklären, wie man eine erstellt.

Ich denke, das ist etwas anderes (in Bezug auf das Erstellen einer "phprc" -Datei - einer lokalen PHP -Konfigurationsdatei - etwas Einzigartiges für DreamHost AFAIK)?

Mit der Umgebungsvariablen PHPRC (PHP Runtime Configuration) können Sie PHP mitteilen, wo sich die Hauptdatei php.ini befindet. Es kann manchmal verwendet werden, um den Speicherort der Hauptdatei php.ini zu ändern .
Referenz: http://php.net/configuration.file

Auf einigen Hosts kann die Umgebungsvariable PHPRC auch verwendet werden, um eine lokale (pro Site) php.ini PHP Konfigurationsdatei festzulegen. (Andernfalls führt der Versuch, den Speicherort von php.ini auf einem gemeinsam genutzten Host zu ändern, zu nichts außer dem Festlegen der Umgebungsvariablen.) Dies kann auch mit a erreicht werden lokale .user.ini Datei und/oder .htaccess - dies kann jedoch von Host zu Host variieren.

Die Apache-Direktive SetEnv (Teil von mod_env) setzt einfach diese Umgebungsvariable. PHPRC steht dann jeder Skriptsprache zur Verfügung, die diese Umgebungsvariablen liest.

Warum ist dies für NinjaFirewall erforderlich?

In den NinjaFirewall-Dokumenten heißt es:

Installation ... NinjaFirewall muss Ihren Systemdateien (php.ini, .htaccess) einige Anweisungen hinzufügen. In den meisten Fällen kann es Ihre Konfiguration erkennen und diese Änderungen für Sie vornehmen

Ich vermute, dass NinjaFirewall eine lokale Konfigurationsdatei (php.ini in Ihrem Fall) benötigt, in der Änderungen vorgenommen werden können. Oder es ist weniger wahrscheinlich, dass die Umgebungsvariable PHPRC festgelegt werden muss, um den Speicherort der Datei php.ini zu finden, die dann bearbeitet werden kann. (Der festgelegte Pfad gibt Auskunft darüber, ob es sich um einen Pfad in Ihrem Webspace oder an einer anderen Stelle im Dateisystem handelt.)

Es ist auch in diesem WordPress.org-Thread angegeben , dass:

Die Anweisung SetEnv PHPRC in der Datei .htaccess wird nur benötigt, wenn Sie eine php.ini verwenden, die nicht rekursiv ist, d. H. Nicht für Unterverzeichnisse gilt.

Obwohl mir das nicht viel Sinn macht? (Wenn php.ini nicht "rekursiv" ist, dann würden Sie vermutlich php.ini nicht verwenden?)

Weitere Lektüre:

4
MrWhite