IIS + PHP – Höllenfeuer und Trotzdem einfach

Heute gingen mal wieder einige Stunden für Fehlersuche drauf.

Der Grund war einfach:

Microsoft IIS + PHP……

Vor ein paar Tagen bin ich bei der Suche nach ganz was anderem über den „Microsoft Web Plattform Installer“ gestolpert.

Dieser bot die tolle Möglichkeit – neben diversen anderen Tollen Plugins und Tools, einfach mal anschauen – direkt PHP für den IIS zu installieren, praktischerweise lief dies sogar daraufhin auf Anhieb und die Welt war gut.

Nun aber zu dem schlechten teil – ich habe gerade die Testversion vom Symantec Endpoint Protection installiert um einen Virenschutz für mein Netzwerk zu testen.

Dieser installiert sich seine eigene Webseite im IIS neben diversen anderen sachen, eigentlich kein Problem. Doch leider bringt er auch seine eigene PHP Version mit für seine Seite und sagt dieses nicht an. Das PHP auf meiner Standardwebseite lief weiter einwandfrei. Das PHP vom Symantec lief gar nicht. Nach etlichem hin und her probiere war das Problem klar: Der Symantec lädt die PHP.ini von Microsoft und weiß damit nicht viel anzufangen bzw. fehlen ihm dann Plugins. Hilfe gab es direkt bei Symantec (der Supportbereich mit der Knowledgebase ist soweit Top).

Kurz zusammengefasst:

  • Nachsehen ob die Umgebungsvariable „PHPRC“ gesetzt ist und ggf. löschen
  • Unter Regedit – „HKEY_LOCAL_MACHINE\Software\“ den Schlüssel „PHP“ anlegen
  • Im Schlüssel „HKEY_LOCAL_MACHINE\Software\PHP\“ einen Schlüssel für die PHP-Version anlegen, bei mir „5.2.8“ und „5.2.11“
  • Im Schlüssel „HKEY_LOCAL_MACHINE\Software\PHP\*phpversion* eine Zeichenfolge „IniFilePath“ mit dem Wert *absoluter Pfad zu der php.ini*\php.ini“ anlegen
  • Rechner neu starten

Damit ließ sich dann für jede Version eine eigene Konfigurationsdatei angeben und jetzt Funktioniert endlich alles 🙂

P.S.:

Wer unter Server 2008 R2 einen Media Streaming Server laufen lassen will sollte das Betriebssystem auf Englisch installieren sonnst folgt bei der Installation des Updates nur ein „Ihr Betriebssystem wird nicht unterstützt“ (danach habe ich ursprünglich gesucht ^^)……

Leider habe ich hierfür noch immer keine Lösung gefunden 🙁