Ändern Sie die PHP-Einstellungen basierend auf der Subdomäne im vHost

Ändern Sie die PHP-Einstellungen basierend auf der Subdomäne im vHost

Ich habe einen virtuellen Host, der viele Subdomänen in dasselbe Verzeichnis weiterleitet.

  • moscow.myapp.com
  • paris.myapp.com

Alle diese Websites laufen auf derselben Anwendung. Das Einzige, was ich von einer Subdomain zu einer anderen ändern muss, ist die PHP-Einstellung date.timezone.

Ich kann den Anwendungscode nicht berühren. Ich suche nach einer Möglichkeit, dies direkt im vHost zu tun.

Ist das möglich? Wie würden Sie vorgehen?

Vielen Dank;

Antwort1

Ich habe nach einer Möglichkeit gesucht, den php_admin_value basierend auf einer Nachschlagetabelle oder einer Umgebungsvariablen (festgelegt durch SetEnvIf) festzulegen und die Variable mit php_value festzulegen, habe aber nichts gefunden, was wahrscheinlich für Sie geeignet wäre (alle Konfigurationen in einer zu haben VirtualHost).

Als letzten Ausweg könnte ich Ihnen zu einem hinterhältigen Plan raten, bei dem Code versteckt wird …

Mit der PHP-Konfigurationsanweisung auto_prepend_filekönnen Sie Code ausführen, bevor Sie ein Skript starten. Dort können Sie eine Suche basierend auf dem virtuellen Host durchführen oder eine von festgelegte Variable verwenden SetEnvIf.

Apache VirtualHost-Konfiguration:

SetEnvIfNoCase Host "^sandbox.coolhaven.info$" TZ=Europe/Moscow
SetEnvIfNoCase Host "^sandbox2.coolhaven.info$" TZ=Europe/Paris

php_value auto_prepend_file /var/www/misc/timezone_injector.php

/var/www/misc/timezone_injector.php

<?php date_default_timezone_set($_ENV["TZ"]);

Natürlich SetEnvIfkönnten die Anweisungen in eine Switch-Anweisung in Ihrem PHP-Code verschoben werden.

Ihr Anwendungsentwickler könnte vermuten, dass vor seinem Code etwas passiert ist, weil dies timezone_injector.phpin den Stapelverfolgungen angezeigt wird. Dies könnte jedoch eine Lösung sein, wenn Sie verschleierte oder streng lizenzierte PHP-Anwendungen haben, die Sie aus nichttechnischen Gründen nicht berühren können.

verwandte Informationen