我最近为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: 在某处,我发现this discussion作者在其中解释说,由于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架构中重新安装所有组件。
非常感谢任何帮助。
答案 0 :(得分:5)
在“开始”菜单上的AppServ文件夹(或Win键+ S)上,您必须为PHP版本开关搜索并且它将请求管理员权限(如果您拒绝它,它将无法工作),那么它将显示cmd控制台rquesting你要在Apache上设置PHP版本,按7切换PHP 7或按5切换PHP5。
如果您这样做并且无效,则应撤消在AppServ文件上执行的更改。
答案 1 :(得分:2)
我和幸福的结局有同样的问题。我的解决方案:
Arrivederci e buona fortuna。