簡體   English   中英

無法使用Apache 2.4從PHP5切換到PHP7

[英]Unable to switch from PHP5 to PHP7 using Apache 2.4

我最近下載了適用於Windows的最新版AppServ( Appserv8 )。 它安裝Apache 2.4MySQL 5.7以及PHP5PHP7兩個版本。 安裝后,使用的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文件上執行的更改。

幸福的結局讓我遇到了同樣的問題。 我的解決方案

  1. 安裝https://www.microsoft.com/en-hk/download/details.aspx?id=40784
  2. 安裝appserv時,您將看到“Visual C ++ Redistributable”窗口,然后按“卸載”按鈕。
  3. 您安裝appserv並完成。

Arrivederci e buona fortuna。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM