解决win下Apache无法启动

澳门新葡亰娱乐官网 2

apache2.2服务无法启动怎么办?apache2.2服务无法启动最终解决方法,其实无法启动的原因不少,比如端口冲突等等,接下来电脑技术网的小编就说一下怎么解决吧!

Apache无法启动的问题 在Windows下经常遇到的 Apache/PHP
无法启动的情况主要分为两种 1、Apache无法启动,没加载php也无法启动
2、Apache可以启动,但加载php后无法启动 第一种情况 多数是Apache配置问

最近经常被问到Apache无法启动的问题,所以写一篇文章,总结一下Windows下经常遇到的
Apache/PHP 无法启动的情况的解决方法。

如方法一:

在Windows下经常遇到的 Apache/PHP 无法启动的情况主要分为两种
1、Apache无法启动,没加载php也无法启动
2、Apache可以启动,但加载php后无法启动
第一种情况多数是Apache配置问题,或者80端口被占用
使用Apache的配置检查:切换到Apache安装目录(如下我用的是集成环境phpstudy,其他的环境也是同样)
根据错误提示,纠正错误。

Apache/PHP 无法启动分两种情况:

在DOS窗口下,切换到apache安装目录下,比如我的 C:Program FilesApache
Software FoundationApache2.2bin 在这个目录下就又一个 运行命令: -w -n
Apache2.2 -k start等等,还有什么端口占用都试过了,都不行!

C:Userscyx>cd c:phpstudy
c:phpStudy>Apachebinhttpd.exe -t
AH00526: Syntax error on line 41 of C:/phpStudy/Apache/conf/vhosts.conf:
DocumentRoot must be a directory

c:phpStudy>Apachebinhttpd.exe -t
AH00526: Syntax error on line 41 of C:/phpStudy/Apache/conf/vhosts.conf:
DocumentRoot must be a directory

c:phpStudy>Apachebinhttpd.exe -t
Syntax OK

1、Apache无法启动,没加载php也无法启动
2、Apache可以启动,但加载php后无法启动

最还是高手给出了答案,查看Apache错误日志,有类似下面这些内容:

改回80端口:

第一种情况多数是Apache配置问题,或者80端口被占用

Syntax error on line 63 of D:/Apache2.2/conf/ load
D:/php/php5apache2_4.dll into server: %1
xb2xbbxcaxc7xd3xd0xd0xa7xb5xc4 Win32
xd3xa6xd3xc3xb3xccxd0xf2xa1xa3

澳门新葡亰娱乐官网 1

使用Apache的配置检查:

php5.5使用的编译器是vc11,php5.4和php5.3的是vc9,php5.2是vc6。同时还要注意是x86版本,还是x64版本。目前只有php5.5提供x64版本,其他都只有x86版本。

httpd.conf文件

复制代码 代码如下:

apache.org下载的Apache都是vc6版本,否则就根据不同文件说明安装不同的运行库。

澳门新葡亰娱乐官网,标准的vhosts.conf文件:

C:>D:Apache2.2binhttpd.exe -t
Syntax OK

vc11运行库x86/x64版本:运行库x86版本:运行库x64版本:运行库x86版本:运行库x64版本:

<VirtualHost _default_:80>
DocumentRoot "C:/phpStudy/WWW/"
  <Directory "C:/phpStudy/WWW/">
    Options +Indexes +FollowSymLinks +ExecCGI
    AllowOverride All
    Order allow,deny
    Allow from all
    Require all granted
  </Directory>
</VirtualHost>
<VirtualHost *:80>
    DocumentRoot "C:phpStudyWWW825"
    ServerName www.0825.com
    ServerAlias 
  <Directory "C:phpStudyWWW825">
      Options FollowSymLinks ExecCGI
      AllowOverride All
      Order allow,deny
      Allow from all
      Require all granted
  </Directory>
</VirtualHost>

根据错误提示,纠正错误。
如果是80端口占用,这个在Windows机器比较常见,经常被IIS抢占。

如果不清楚你的情况,可以安装全部运行库,再也不用为这个问题担忧了。

对应的hosts文件添加

注销IIS服务:

澳门新葡亰娱乐官网 2

复制代码 代码如下:

添加vhosts中的ServerName

iisreset /stop
iisreset /disable

如果是80端口占用,这个在Windows机器比较常见,经常被IIS抢占。

sc stop w3svc
sc delete w3svc

注销IIS服务:
iisreset /stop
iisreset /disable

如果不是IIS,可以使用命令杀掉强占80端口的进程:

sc stop w3svc  
sc delete w3svc  

复制代码 代码如下:

如果不是IIS,可以使用命令杀掉强占80端口的进程:

# 查找占用80端口的进程pid
netstat -ano|find “:80”

# 查找占用80端口的进程pid  
netstat -ano|find ":80"  

# 假设该进程pid为2013,查看进程名称:  
tasklist /fi "pid eq 2013"  

# 杀掉该进程命令  
taskkill /f /pid 2013  

# 假设该进程pid为2013,查看进程名称:
tasklist /fi “pid eq 2013”

如果不是上述问题,那可能是系统网络问题,如下警告:

# 杀掉该进程命令
taskkill /f /pid 2013

setup_inherited_listeners(), WSASocket failed to open the
inherited socket.

如果不是上述问题,那可能是系统网络问题,如下警告:

使用命令修复Windows网络:
netsh winsock reset

复制代码 代码如下:

重启机子,如果问题还无法解决,尝试以下方法:
本地连接 -> 属性 -> 高级 -> Wins标签 ->
去掉启用LMhosts查询前的勾选
第二种多数是PHP编译器的问题:

setup_inherited_listeners(), WSASocket failed to open the
inherited socket.

查看Apache错误日志,有类似下面这些内容:

使用命令修复Windows网络:

httpd.exe: Syntax error on line 63 of D:/Apache2.2/conf/httpd.conf:
Cannot load D:/php/php5apache2_4.dll into server: %1
xb2xbbxcaxc7xd3xd0xd0xa7xb5xc4 Win32
xd3xa6xd3xc3xb3xccxd0xf2xa1xa3

复制代码 代码如下:

php5.5使用的编译器是vc11,php5.4和php5.3的是vc9,php5.2是vc6。同时还要注意是x86版本,还是x64版本。目前只有php5.5提供x64版本,其他都只有x86版本。

netsh winsock reset

apache.org下载的Apache都是vc6版本,否则就根据不同文件说明安装不同的运行库。

重启机子,如果问题还无法解决,尝试以下方法:

vc11运行库x86/x64版本:http://www.microsoft.com/en-us/download/details.aspx?id=30679
vc10运行库x86版本:http://www.microsoft.com/en-us/download/details.aspx?id=5555
vc10运行库x64版本:http://www.microsoft.com/en-us/download/details.aspx?id=14632
vc9运行库x86版本:http://www.microsoft.com/en-us/download/details.aspx?id=5582
vc9运行库x64版本:http://www.microsoft.com/en-us/download/details.aspx?id=15336

本地连接 -> 属性 -> 高级 -> Wins标签 ->
去掉启用LMhosts查询前的勾选

如果不清楚你的情况,可以安装全部运行库,再也不用为这个问题担忧了。

复制代码 代码如下:

如果Apache/PHP还无法启动,那最可能是php5_module模块的问题:

/********  无情的分割线 ********* /
  作者:没有开花的树
/ *******   无情的copy  *********/

1、Apache2.0对应的PHP模块为 php5apache2.dll
2、Apache2.2对应的PHP模块为 php5apache2_2.dll
3、Apache2.4对应的PHP模块为 php5apache2_4.dll

第二种多数是PHP编译器的问题:

换句话说,根据php5_module模块,可以知道当前版本php支持哪种Apache
所以,Apache/PHP的搭配有以下几种情况:
1、php5.2支持Apache2.0和Apache2.2;
2、php5.3、php5.4同时支持Apache2.2和Apache2.4;
3、php5.5只支持Apache2.4
除非你自己手动编译php5_module模块,否则只能有以上3种选择。
如果Apache/PHP还是无法启动,检查php配置(php.ini)是否存在,运行php.exe有没有提示错误。根据错误提示,纠正错误。

查看Apache错误日志,有类似下面这些内容:

复制代码 代码如下:

httpd.exe: Syntax error on line 63 of D:/Apache2.2/conf/httpd.conf:
Cannot load D:/php/php5apache2_4.dll into server: %1
xb2xbbxcaxc7xd3xd0xd0xa7xb5xc4 Win32
xd3xa6xd3xc3xb3xccxd0xf2xa1xa3

php5.5使用的编译器是vc11,php5.4和php5.3的是vc9,php5.2是vc6。同时还要注意是x86版本,还是x64版本。目前只有php5.5提供x64版本,其他都只有x86版本。
apache.org下载的Apache都是vc6版本,否则就根据不同文件说明安装不同的运行库。

vc11运行库x86/x64版本:
vc10运行库x86版本:
vc10运行库x64版本:
vc9运行库x86版本:
vc9运行库x64版本:
如果不清楚你的情况,可以安装全部运行库,再也不用为这个问题担忧了。

如果Apache/PHP还无法启动,那最可能是php5_module模块的问题:

1、Apache2.0对应的PHP模块为 php5apache2.dll
2、Apache2.2对应的PHP模块为 php5apache2_2.dll
3、Apache2.4对应的PHP模块为 php5apache2_4.dll

换句话说,根据php5_module模块,可以知道当前版本php支持哪种Apache

所以,Apache/PHP的搭配有以下几种情况:

1、php5.2支持Apache2.0和Apache2.2;
2、php5.3、php5.4同时支持Apache2.2和Apache2.4;
3、php5.5只支持Apache2.4

除非你自己手动编译php5_module模块,否则只能有以上3种选择。

如果Apache/PHP还是无法启动,检查php配置(php.ini)是否存在,运行php.exe有没有提示错误。根据错误提示,纠正错误。

您可能感兴趣的文章:

  • Windows下PHP开发环境搭建教程(Apache+PHP+MySQL)
  • Windows下apache
    ant安装、环境变量配置教程
  • 在Windows服务器下用Apache和mod_wsgi配置Python应用的教程
  • Windows下Apache + PHP
    SESSION丢失的解决过程全纪录
  • Windows下使用apache模块实现合并多个js、css提高网页加载速度
  • Windows下PHP安装路径配置错误导致Apache无法启动的解决方法
  • Windows下安装Apache
    2.2.21图文教程
  • windows下apache的简单命令
You can leave a response, or trackback from your own site.

Leave a Reply

网站地图xml地图