[英]Unable to switch from PHP5 to PHP7 using Apache 2.4
我最近下載了適用於Windows的最新版AppServ( Appserv8
)。 它安裝Apache 2.4
, MySQL 5.7
以及PHP5
和PHP7
兩個版本。 安裝后,使用的PHP版本為5。
我嘗試使用隨安裝提供的腳本“ PHP Version Switch ”來切換版本,但它似乎無法正常工作。
我試圖手動編輯http.conf
文件Apache24
文件夾,但沒有結果。
使用這些行,Apache通常使用PHP5啟動:
LoadModule php5_module C:/AppServ/php5/php5apache2_4.dll
PHPIniDir "C:/AppServ/php5/"
如果我編輯:
LoadModule php7_module C:/AppServ/php7/php7apache2_4.dll
PHPIniDir "C:/AppServ/php7/"
當我嘗試啟動Apache時,我收到以下錯誤:
httpd.exe: Syntax error on line 180 of C:/Appserv/Apache24/conf/httpd.conf: Cannot load C:/Appserv/php7/php7apache2_4.dll into server: Impossibile trovare il modulo specificato.
(部分錯誤是意大利語:無法找到指定的模塊)
請注意,dll位於路徑中指定的文件夾中。 我堅持這個錯誤,我不知道我在哪里修改配置文件(如果這是問題)。
EDIT1:在某個地方我發現了這個討論 ,其中作者解釋說,由於Visual C ++的依賴性,DLL可能無法讀取。 我檢查了我的系統,我從多個Microsoft Visual C ++可再發行組件安裝中清除它,我嘗試安裝x64或x86版本。
使用x86版本,我遇到了上一個問題。 使用x64版本,由於缺少dll,我無法啟動Apache:應該是因為apache是x86版本(我不確定)。
EDIT2:正如@chugadie所建議的,我試圖使用dependencywalker來跟蹤依賴關系。 我找到了幾個帶有前綴API-MS-WIN-CRT
丟失文件。 現在我正在嘗試修復但是我有幾個問題,dll是x86和x64。 我認為最好的方法是在x64架構中重新安裝所有組件。
非常感謝任何幫助。
在開始菜單(或Win鍵+ S)上的AppServ文件夾上,您必須為PHP版本開關搜索並且它將請求管理員權限(如果您拒絕它,它將無法工作),那么它將顯示一個cmd控制台,請求您使用PHP要在Apache上設置的版本,按7切換PHP 7或按5切換PHP5。
如果您這樣做並且它將無法工作,您應該撤消在AppServ文件上執行的更改。
幸福的結局讓我遇到了同樣的問題。 我的解決方案
Arrivederci e buona fortuna。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.