因为要用PHP做一个程序,在本机上配PHP环境,下了个APMServ5.26,安装很简单,不再多说,装好后,启动,提示错误,具体是:“Apache启动失败,请检查相关配置。√MySQL5.1已启动”,然后就在网上找解决办法,倒是找到不少,但都没有解决问题,差点就想换一个集成环境了。不过知难而进一向是我的原则,最后终于解决了,现在把所有解决步骤整理出来,希望能对碰到同样情况的朋友有所帮助,如果有有朋友碰到新的情况,欢迎同我交流。另外如果大家有自已各方面经验,欢迎在阳关道网站上发布出来跟大家共享一下。
解决办法之一:
把左下角的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 _disibledevent=>
改为
[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;