Benutzerspezifische Php.ini, wenn PHP als Modul ausgeführt wird?

Benutzerspezifische Php.ini, wenn PHP als Modul ausgeführt wird?

Ich habe eine PHP-Einstellung, die nur in der INI-Datei geändert werden kann. Ich kann diese Einstellung aufgrund von Konflikten nicht in der globalen php.ini ändern, daher muss ich sie benutzerspezifisch machen. Kann dies durchgeführt werden, wenn PHP als Modul ausgeführt wird? Oder muss ich PHP ändern, sodass es als CGI ausgeführt wird?

Die beste Antwort scheint „nicht wirklich“ zu sein, aber Sie können mit den folgenden Tricks einige Parameter umgehen.

Antwort1

Mir ist keine Möglichkeit bekannt, eine separate php.ini anzugeben, wenn PHP als Apache-Modul verwendet wird, nur wenn PHP als CGI verwendet wird. Allerdings können alle Konfigurationsoptionen in der php.ini in der .htaccessDatei geändert werden, wie unter gezeigt.http://php.net/configuration.changessolange Sie AllowOverride in der Apache-Konfiguration auf Optionsoder gesetzt haben All.

Ich habe dies auf vielen meiner Websites getan, um gängige PHP-Konfigurationen zu ändern. Ich gehe davon aus, dass Sie nicht jede Einstellung ändern müssen, sodass die Anzahl leicht zu verwalten sein sollte, indem Sie die Optionen zu Ihrer .htaccessDatei in dem Verzeichnis hinzufügen, in dem Sie die Änderungen benötigen.

Das Folgende verwende ich auf einigen Websites, um die und -Einstellungen zu ändern include_pathund festzulegen . Verwenden Sie für boolesche Flag-Elemente einfach anstelle von .auto_prepend_fileauto_append_filephp_flagphp_value

<IfModule mod_php5.c>
    php_value auto_prepend_file 'header.inc.php'
    php_value auto_append_file 'footer.inc.php'
    php_value include_path '/path/to/private/includes:/usr/share/pear'
</IfModule>

Antwort2

Ich habe den Handler für PHP für einen PHP-CGI-Wrapper überschrieben und konnte eine php.ini-Datei angeben

Gehen Sie dazu wie folgt vor: Erstellen Sie in dem Ordner, den Sie ändern möchten, eine htaccess-Datei, etwa wie folgt:

Action php5-cgi /cgi-bin/php5-cgi.cgi
AddHandler php5-cgi .php

Erstellen Sie dann eine Datei „php5-cgi.cgi“ mit etwa Folgendem:

#!/bin/sh
exec /usr/bin/php-cgi "$@" -c "/home/user/php.ini"

Legen Sie die Berechtigungen für diese Datei fest, um sie als „Benutzer“ auszuführen. Führen Sie dann eine Testdatei mit phpinfo(1) aus, um zu prüfen, ob Ihre INI-Datei geladen ist.

Danke für alle Hilfe!!

Antwort3

Alle Details gibt es hier:http://php.net/configuration.changes

Antwort4

Sie können Apache „php_admin_value“ pro virtuellem Host/Benutzer verwenden.

Wenn ich mich recht entsinne, kann man mit diesem Befehl jeden php.ini-Wert neu definieren

verwandte Informationen