APMServ提示“Apache启动失败,msql启动成功!”解决
UPDATE:2018-03-24 14:19 阅读:
解决办法之一:
把左下角的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
 
第二种提示:
********************************************************************************************
APMServ最近一次启动、运行、停止过程中的Apache通知[notice]、提醒[warn]、错误[error]日志如下:
********************************************************************************************
[Tue Jan 01 01:42:31 2002] [warn] pid file D:/APMServ5.2.6/Apache/logs/httpd.pid overwritten -- Unclean shutdown of previous Apache run?
[Tue Jan 01 01:42:32 2002] [notice] Apache/2.2.9 (APMServ) PHP/5.2.6 configured -- resuming normal operations
[Tue Jan 01 01:42:32 2002] [notice] Server built: Jun 13 2008 04:04:59
[Tue Jan 01 01:42:32 2002] [notice] Parent: Created child process 3564
Failed loading D:/APMServ5.2.6/zend/eAccelerator/eAccelerator.dll
[Tue Jan 01 01:42:32 2002] [notice] Child 3564: Child process is running
[Tue Jan 01 01:42:32 2002] [notice] Child 3564: Acquired the start mutex.
[Tue Jan 01 01:42:32 2002] [notice] Child 3564: Starting 500 worker threads.
[Tue Jan 01 01:42:32 2002] [notice] Child 3564: Starting thread to listen on port 80.
 
就拿第一种来说,反正两种都是版本过低,由上面的日志可以清楚的判断到是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,不要下错了文件,下来后(如果是第二种记得下载eAccelerator 0.9.6.1 for PHP 5.2.14 None Tread Safe (NTS)
直接放到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;
       本文链接:http://www.wlxin.com/xinwenzhongxin/663.html
官网网址:http://m.wlxin.com  
微力互联专注于东莞网站建设,东莞网站制作,东莞网站优化,东莞网站推广,是东莞网站建设公司网络营销行业中知名品牌,能快速帮助公司解决网络营销难题,选择我们!选择成功!