Ich habe IIS 7.0 und zwei Versionen PHP v5
und v7
auf meinem Microsoft Windows Server 2008 Standard 6.0 SP2. Das Problem ist, dass PHP7 oder IIS versucht, die php.ini von PHP5 für IIS "Websites" zu verwenden.Wie setze ich den php.ini Pfad für PHP CGI/FastCGI SAPI auf Windows Server 2008 R2?
So auf der Kommandozeile ist alles in Ordnung:
X:\>php -v
PHP 7.0.2 (cli) (built: Jan 6 2016 12:59:59) (NTS)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2015 Zend Technologies
X:\>php --ini
Configuration File (php.ini) Path: C:\Windows
Loaded Configuration File: D:\Data\Programme\php7\php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed: (none)
Aber im IIS-Manager und in der phpinfo()
Ausgang nicht:
denke ich, es ist ein PHP (cgi-fcgi
SAPI) Problem, nicht ein IIS-Problem (aber nicht sicher).
Wie setzt man die richtige php.ini
für PHP CGI/FastCGI SAPI auf Windows Server 2008?
auch versucht, es über die Registry, aber das hat nicht geholfen:
Ich weiß, dass ich mit einer ähnlichen Situation auf * Linux, * unter * Apache, * aber ich frage mich, ob die gleiche Art von Ansatz hier verwendet werden könnte. Im Grunde genommen habe ich zwei separate "CGI-Dateien" erstellt, von denen jede im Wesentlichen wie folgt abläuft: 'exec/pfad/zu/php-cgi --php-ini /pfad/zu/php.ini $ PATH_TRANSLATED'. Das heißt, die Befehlsdatei ruft explizit einen PHP-Interpreter auf und teilt ihm ausdrücklich mit, welche php.ini-Datei verwendet werden soll. Es scheint mir intuitiv, dass hier ein ähnlicher Ansatz gefunden werden könnte. . . (Und, PS .: "Ich denke, es ist auch' cgi-fcgi'. ") –
Ich erwäge meinen vorherigen Kommentar in Bezug auf dieses * FastCGI * (unabhängig von der Host-Umgebung ...), Weiß ich, dass es möglich ist, "separate * Pools * von FastCGI-Arbeiterbienen" zu bezeichnen und eingehende Anfragen an die entsprechenden zu richten. Sie sollten in der Lage sein, zwei Pools einzurichten: einen für PHP5, den anderen für PHP7. . . Ich wünschte, ich könnte genauer sein, aber ich habe in letzter Zeit kein von Windows gehostetes Projekt gemacht. –
@MikeRobinson Danke, dass du versucht hast, auch in dieser Frage zu helfen! Aber noch einmal: Das Problem ist nicht, dass die falsche PHP-Version (oder in diesem Fall die falsche 'php-cgi.exe') verwendet wird. Das Problem ist, dass irgendwo konfiguriert ist, dass 'D: \ Pfad \ zu \ php7 \ php-cgi.exe' seine Configs von' D: \ Pfad \ zu \ php5 \ php.ini' (statt ' D: \ Pfad \ zu \ php7 \ php.ini'). Also muss ich herausfinden, warum es so seltsam konfiguriert ist und wie man das ändert. – automatix