APMServ5.2.6win10系统Apache、MySQL5.1启动失败解决办法

今天想在本地测试网站源码能否正常运行,如果可以就转空间了,然而下载了APMServ之后发现系统Apache、MySQL5.1启动均失败,小白的人表示只能借助百度,用了一个小时的时间终于解决了,虽然坎坷,但还是欣慰,为了防止以后再发生类似的事情到处百度,还是决定把解决办法记录下来。

首先,在电脑左下角找到“运行”程序,输入“regedit”打开系统注册表

找到:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\HTTP,点击HTTP后在右侧可以找到Start

选中“Start”,右键,点击”修改“,将默认值(一般都是3)修改为0.

点击确定,然后重启电脑。

到这里,重启APMServ,显示的是Apache启动失败,请检查相关配置,而MySQL5.1启动成功。接下来需要做的是

1、找到Apache文件夹找到Apache\conf\extra\httpd-ssl.conf

2、httpd-ssl.conf用记事本打开

3、用记事本的查找功能 查找/cgi-bin

4、改为

注意是这样的这行代码之前是定位到E盘而我的电脑是没有E盘的只有C盘,所以路径是不对的,我改成了C盘。然后再以管理员身份重启APMServ,成功了。

注:如果不行依次做下列方法(做一次启动一次服务器)

解决办法之一:

把左下角的SSL钩上了,如果你没有用证书,就把那个去掉,有的朋友去掉就可以了。也可能再装了证书钩上SSL也可以用了。

解决办法之二:

看了说的把SSL勾掉的办法,也解决不了。后来就去查卡巴,也没看到有什么设置影响;用APM自带的一个解决软件冲突的功能,执行后问题依然。怀疑是不是APM所在的文件夹的父文件夹是中文的,对它有影响,删掉重建,还是不行。 检查操作系统“设置 - 管理工具 - 服务” 里面的选项,有一个Telnet选项被禁止了,这才想起来安装XP之后,担心安全问题,所以把远程协作给关掉了,估计因此把Telnet的功能就给禁止了,所以现在赶紧把它设置成手动开启。 开启Telnet后,再启动APMServ5.2.0,也可能就正常。

解决办法之三:

建议不要经常加载和卸载今天在调试添加虚拟主机和虚拟目录时,忽然发现重启APMServ有问题,总是不能加载Apache,觉得很奇怪,因为昨天以及解决了这个问题我以为。在论坛里看了一下,有建议说不要频繁重启APMAerv,于是卸载,关机。过了一会儿开机,首先开APMServ,发现正常了。而且,发现昨天设置的Telnet,其实现在根本尚未手动启动。

得出结论:

1、昨天帖子不准确,虽然昨天调整TELNET与启动正常有关系,但今天没关系,原因不清楚;(今天把远程协作打开了,可能有关联)

2、APMServ频繁启动关闭的确不太好,容易造成加载不正常。

解决办法之四:

是不是安装在了带中文的目录了,这个程序不能使用中文目录的。如果是,删掉重新装一下。

解决办法之五:

1、可以尝试将PHP的安装目录设置为系统的环境变量:右键点击“我的电脑”-“属性”-“高级”-“环境变量”-“系统变量”,修改Path,加上“D:\APMServ5.2.6\PHP;D:\APMServ5.2.6\PHP\ext”路径。

注意用英文分号;进行分隔,同时上面的“D:\APMServ5.2.6\PHP;D:\APMServ5.2.6\PHP\ext”是我的安装路径,记得换成你的路径。

2、或者把需要用到的dll复制到操作系统的System32文件夹中。即把PHP和PHP\ext下面的.dll文件拷到C:\WINDOWS\system32文件夹中。

解决办法之六:

上面5个办法还是解决不了,而php.ini里的extension_dir配置是正确的,还是不行的话,可能是以前在本机安装过PHP,有一些残留文件,windows PATH变量或拷贝到C:\WINDOWS\system32下的dll文件被Apache优先加载了,而没有加载应该加载的APACHE目录中的dll,

注意:windows加载dll文件的顺序是按系统环境变量PATH里指定的目录的先后来的,一般是%SystemRoot%\system32;%SystemRoot%,在安装Apache+PHP的时候如果出现“Unable to load dynamic library”错误,但配置文件又是正确的情况下,一定要注意这些目录下有没有当前PHP版本需要使用的dll不同版本的同名文件。

解决办法之七:

按上面6个办法改了又试,试了又改,也弄了n次仍然不行,点击"Apache设置(A)-查看运行日志(E)",发现下面的文字:

PHP Warning: [eAccelerator] This build of "eAccelerator" was compiled for PHP version 5.2.6. Rebuild it for your PHP version (5.2.9) or download precompiled binaries.\n in Unknown on line 0

PHP Fatal error: Unable to start eAccelerator module in Unknown on line 0

由上面的日志可以清楚的判断到是php版本的原因。由于PHP version (5.2.6) 不会改动,所以问题就是eAccelerator编译时的版本要用5.2.9了。

打开D:\APMServ5.2.6\Zend\eAccelerator文件夹,马上可以看到eAccelerator.dll这个文件,再在文件夹D:\APMServ5.2.6\PHP下面搜索一下包含eAccelerator的关键字

可以发现只有php.ini里面包含了eAccelerator.dll的引用。现在唯一的关键就是下载eAccelerator的5.2.9版本了,

找了好久终于找到下载地址了:http://www.sitebuddy.com/PHP/Accelerators/eAccelerator_windows_binaries_builds,注意下载eAccelerator 0953 for PHP 5.2.9,不要下错了文件,下来后

直接放到D:\APMServ5.2.6\Zend\eAccelerator文件夹中,再到php.ini文件中把

[eaccelerator]

zend_extension_ts="D:/APMServ5.2.6/zend/eAccelerator/eAccelerator.dll"

改为

[eaccelerator]

zend_extension_ts="D:/APMServ5.2.6/zend/eAccelerator/eAccelerator0953_5.2.9.dll"

就可以了

注意:上面的提到的相关路径依据你自己解压AMPServ时设置的路径,使用的系统是windows 2003 server。