今天在安装好php和apache后,在配置的过程中,遇到了apache不能启动的问题,报错是 the requested operation has failed ,在不断的测试中发现,删除掉
LoadModule php5_module "C:/Program Files/PHP/php5apache2_4.dll"
PHPIniDir "C:/Program Files/PHP"
这段代码后,apache又能重新启动了,怀疑是php5apache2_4.dll 的原因造成的,用命令行模式启动apache httpd.exe -w -n "Apache2" -k start 发现果然是php5apache2_4.dll的原因,说是找不到该文件。可是在PHP中这个文件又的的确确的存在,那怎么会找不到呢? 然后又回去查看了下载的PHP和apache文件,猜测会不会是版本的问题导致的,PHP是VC11 X86的,apache是apache2.2_win32_x86的,都是x86的这点应该没问题,那会不是VC11的原因呢,因为PHP有多个版本VC6,VC9,VC11,VC14,是这个之间的差异导致的吗?于是就去翻看了php官网的说明,在官网里有这么一句话 If you are using PHP as module with Apache builds from apache.org (not recommended) you need to use the older VC6 versions of PHP compiled with the legacy Visual Studio 6 compiler. Do NOT use VC9+ versions of PHP with the apache.org binaries. 这句话的大概意思就是,如果您正在使用PHP与Apache模块从apache.org构建(不推荐),您需要使用与传统的Visual Studio 6编译器编译PHP的旧版本VC6 。不要使用VC9 +版本的PHP与apache.org二进制文件。原来就是这个原因,我的apache就是下载的binaries,所以对应的PHP版本就应该用VC6的,修改了PHP版本后,再重新启动就没有报这个错误了