我在Microsoft Windows Server 2008 Standard 6.0 SP2上安裝了IIS 7.0和兩個版本PHP v5
和v7
。問題是,PHP7或IIS嘗試使用IIS的「網站」的PHP5的php.ini。如何在Windows Server 2008 R2上爲PHP CGI/FastCGI SAPI設置php.ini路徑?
所以在命令行上,一切都很好:
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)
但在IIS管理器和phpinfo()
輸出不是:
我認爲,這是一個PHP(cgi-fcgi
SAPI)問題,不是是一個IIS問題(但不確定)。
如何在Windows Server 2008上爲PHP CGI/FastCGI SAPI設置正確的php.ini
?
還試圖過來註冊表,但這並沒有幫助:
我知道我不得不在* Linux下處理* Apache *下的類似情況,但是我想知道是否可以在這裏使用相同的方法。基本上,我創建了兩個單獨的「CGI文件」,每個文件基本歸結爲:'exec/path/to/php-cgi --php-ini /path/to/php.ini $ PATH_TRANSLATED'。也就是說,該命令文件明確調用了一個PHP解釋器,並明確告訴它要使用哪個'php.ini'文件。它在我看來似乎可以在這裏製作類似的方法。 。 。 (並且,P.S .:「我認爲它也是'cgi-fcgi'」) –
考慮我以前的評論是關於這個* FastCGI *(不管主機環境...),我知道可以指定「FastCGI工蜂的獨立*池」,並將傳入的請求定向到合適的請求。您應該能夠以某種方式設置兩個池:一個用於PHP5,另一個用於PHP7。 。 。希望我能更具體一些,但最近我還沒有做過Windows託管的項目。 –
@MikeRobinson謝謝你也試圖幫助解決這個問題!但再一次:問題不在於,使用了錯誤的PHP版本(或者在這種情況下錯誤的'php-cgi.exe')。問題是,在某個地方配置好了,'D:\ path \ to \ php7 \ php-cgi.exe'必須從'D:\ path \到\ php5 \ php.ini'取代其配置文件(而不是' d:\路徑\到\ PHP7 \ php.ini')。所以我必須找出爲什麼它被配置爲一個奇怪的方式以及如何改變它。 – automatix