无法使用 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 版本切换"来切换版本,但它似乎不起作用。

我尝试手动编辑文件夹中Apache24 http.conf文件,但没有结果。

有了这些行,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 位于路径中指定的文件夹中。我遇到了这个错误,我不知道我必须在哪里修改配置文件(如果这是问题所在(。

编辑1:我在某处发现了这个讨论,作者在其中解释说,由于视觉C++的依赖关系,DLL 可能不可读。我检查了我的系统,从多个 Visual C++ 可再发行组件的安装中清除了它Microsoft并尝试安装 x64 或 x86 版本。

对于x86版本,我遇到了以前的问题。对于 x64 版本,由于缺少 dll,我无法启动 Apache:应该是因为 apache 是 x86 版本(我不确定这一点(。

编辑2:正如@chugadie所建议的,我尝试使用依赖关系来跟踪依赖关系。我发现了几个前缀为 API-MS-WIN-CRT 的丢失文件。现在我正在尝试修复,但我对 x86 和 x64 的 dll 有几个问题。我认为最好的方法是重新安装 x64 架构中的所有组件。

任何帮助都非常感谢。

在开始菜单(或 Win Key + S(上的 AppServ 文件夹中,您必须为 PHP 版本切换灼烧,它将请求管理员权限(如果您拒绝它,它将不起作用(,然后它将显示一个 cmd 控制台,向您询问要在 Apache 上设置的 PHP 版本,按 7 切换 PHP 7 或按 5 切换 PHP5。

如果您这样做了并且它不起作用,则应撤消在 AppServ 文件上所做的更改。

我对快乐的结局也有同样的问题。我的解决方案:

  1. 安装 https://www.microsoft.com/en-hk/download/details.aspx?id=40784
  2. 当您安装appserv时,您将看到"可视C++可再发行组件"窗口,然后按"卸载"按钮。
  3. 您安装应用程序并完成。

Arrivederci e buona fortuna.