APMServ提示“Apache启动失败,请检查相关配置”的解决方法

时间:2021-04-02 20:18:11

今天开始做一点关于JavaWeb的东西,第一件事就是要搭建服务器,以前学php的时候,觉得APMServ不错,除了PHP,里面集成的

MySQL很好用,不用自己去配置任何东西,于是就直接拿来用了,但是服务器却怎么也起不来,下面的这些很快的解决了我的问题。

分享于此:

解决办法之一: 
把左下角的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。


——————————————————————————————————————————————————————————————————————————

对了,APMServ5.2.6默认的mysql安装后root帐号的密码为空,这样很不安全,需要改一下。

开始 - 运行 - 输入cmd运行
D:\APMServ5.2.6\MySQL5.1\bin> mysql -u root mysql 
mysql> UPDATE user SET Password=PASSWORD('新密码') WHERE user='root';
mysql> FLUSH PRIVILEGES;