首先,只要httpd.conf文件中有一点语法错误或者其他错误,Apache就无法启动
今天报错的背景如下,
安装完Apache和PHP后,配置了httpd.conf
添加代码:
LoadModule php5_module "C:/myenv/php-5.3.21/php5apache2_2.dll" PHPIniDir "C:/myenv/php-5.3.21" AddType application/x-httpd-php .php .phtml
C:\Documents and Settings\Administrator>cd C:\myenv\apache\bin
C:\myenv\apache\bin>httpd -k start
httpd: Syntax error on line 130 of C:/myenv/apache/conf/httpd.conf: Cannot load C:/myenv/php-5.3.21/php5apache2_2.dll into server: \xd3\xc9\xd3\xda\xd3\xa6\xd3\
xc3\xb3\xcc\xd0\xf2\xc5\xe4\xd6\xc3\xb2\xbb\xd5\xfd\xc8\xb7\xa3\xac\xd3\xa6\xd3\
xc3\xb3\xcc\xd0\xf2\xce\xb4\xc4\xdc\xc6\xf4\xb6\xaf\xa1\xa3\xd6\xd8\xd0\xc2\xb0\
xb2\xd7\xb0\xd3\xa6\xd3\xc3\xb3\xcc\xd0\xf2\xbf\xc9\xc4\xdc\xbb\xe1\xbe\xc0\xd5\
xfd\xd5\xe2\xb8\xf6\xce\xca\xcc\xe2\xa1\xa3
解决方案:
1、加载php5apache2_2.dll路径错误或者你的php安装目录中没有php5apache2_2.dll该文件。
排错方案:打开apache的httpd.conf文件,找到:LoadModule php5_module "D:/Program Files (x86)/Web/PHP/php5apache2_2.dll",
检查路径和拼写错误。
2、缺少vc++2008可在发行组件包,下载并安装。
32位:Microsoft 2008 C++ Runtime (x86)
64位:Microsoft 2008 C++ Runtime (x64)
如果你不知道该装哪个,那就两个都装吧。目前php.net的php二进制源码都是x86版本,从压缩包和安装文件的命名就可以看出,所以一般下载x86版本的c++2008运行时环境就行了。
3、你可能安装的是64位版本的apache,注意windows平台的php目前只能搭配win32版本的apache,所以不要安装win64版本的apache
4、安装apache需要VC10 SP1 vcredist_x86.exe,如果你遇到无法安装apache的情况,下载安装它。
我这里是缺少了vc++2008可在发行组件包 1.7M大小,安装后解决了