it-swarm.com.de

Wie verwende ich verschiedene php.ini-Dateien für verschiedene VirtualHosts?

Ich habe meine Site und es ist eine Staging-Subdomain, die auf demselben CentOS-Computer ausgeführt wird, auf dem Apache ausgeführt wird. Die Subdomain wird mit einem VirtualHost erstellt und ich benutze sie, um Fehler zu finden, bevor ich zur Produktion übergebe. Ich möchte, dass die php.ini-Datei für das Staging von VirtualHost eine Entwicklungsdatei ist und die Produktionssite eine Produktions-php.ini verwendet. Wie kann ich Apache so konfigurieren, dass verschiedene php.ini-Dateien verwendet werden? Ich möchte php_value/php_flag nicht für alles verwenden, sondern nur die Datei php.ini, die mir bereits zur Verfügung steht. Ich habe versucht, eine .htaccess-Datei zu erstellen, die so aussieht:

SetEnv PHPRC /path/to/php.ini/directory

Dies hat keine Auswirkung, da phpinfo () sagt, dass es immer noch /etc/php.ini verwendet. Ich habe auch versucht, PHPIniDir für beide virtuellen Hosts (www und Staging) festzulegen, und es beklagt sich, dass die Direktive zweimal angezeigt wird.

1
gsingh2011

Tatsächlich ist es unmöglich, für jeden virtuellen Host unterschiedliche php.ini-Dateien anzugeben .

Sie können jedoch fast alles in der php.ini-Datei ändern, indem Sie die ini_set () -Funktion verwenden:

  • Hier können Sie den Wert einer bestimmten Konfigurationsoption festlegen. Die Konfigurationsoption behält diesen neuen Wert während der Ausführung des Skripts bei und wird am Ende des Skripts wiederhergestellt.
  • Nicht alle verfügbaren Optionen können mit ini_set () geändert werden. Es gibt eine Liste aller verfügbaren Optionen hier . Somit können alle Direktiven mit dem Modus "PHP_INI_USER" zur Laufzeit mit der Funktion ini_set () geändert werden.
1
fsenart