apache服务启动失败的解决方案

warning: 这篇文章距离上次修改已过1577天,其中的内容可能已经有所变动。
一般在cmd中直接运行httpd会有详细的错误提示!

未找到服务

前期准备

#进入Apache安装目录下的bin目录:
cd C:\Apache24\bin

添加apache服务

键入命令:

httpd.exe -k install -n apache2.2

结果显示:

Installing the apache2.4 servece 
The apache2.4 service is successfully installed.

删除apache服务

键入命令:

httpd.exe -k uninstall -n apache2.4

结果显示:

Removing the apache2.4 service
The apache2.4 service has been removed successfully.

启动apache服务

键入命令:

net start apache2.4

结果显示:

apache2.2 服务正在启动。
apache2.2 服务已经启动成功。

关闭apache服务

键入命令:

net stop apache2.4

结果显示:

apache2.4 服务正在停止。
apache2.4 服务已经成功停止。

Windows 不能在 本地计算机启动 Apache

80端口被占用

  1. 先用命令行

    netstat -an -p tcp -o
  2. 关掉对应的程序
  3. 或是更改端口

ServerRoot must be a valid directory

现象

D:\apache\Apache24\bin>httpd -k install 
Installing the 'Apache2.4' service The 'Apache2.4' service is successfully installed. 
Testing httpd.conf.... 
Errors reported here must be corrected before the service can be started. 
httpd: Syntax error on line 40 of C:\Apache24\conf/httpd.conf: ServerRoot must be a valid directory

原因

httpd.conf里面配置的ServerRoot路径跟实际路径不一致,导致路径无效。

方法

  1. 打开Apache安装目录下的 conf 目录里面的httpd.conf
  2. 然后,搜索 Define SRVROOT只有一处),将其后面的双引号里面的路径改为Apache的实际解压路径后保存即可。
  3. 安装apache服务。(上面有)
  4. 启动apache服务并且测试apache服务
  5. 浏览器输入:http://localhost/(如果你没改默认端口话,像我需要访问http://localhost:8180/

Syntaxhttpd.conf : Cannotload php5 apache2_4.dll

现象

Syntax error on line 数字 of :/Apache/conf/httpd.conf: Cannot load D:/PHP/php5apache2_4.dll into server

你需要检查一下几项


1.Apache的httpd.conf文件

  1. 打开Apache安装目录下的 conf 目录里面的httpd.conf
  2. 在文件末尾加
LoadModule php5_module "D:\PHPserver\php5.6/php5apache2_4.dll"
AddType application/x-httpd-php.php
AddType application/x-httpd-php.htmlPHPIniDir "D:\PHPserver\php5.6"
注意添加的是相应的php所在文件,下载安装时是不是php这个文件的,需要我们自己手动创建。

2. php的php.ini

  1. 打开php.ini
  2. 找到doc_root修改为 doc_root ="C:\Apache24\htdocs"
  3. 找到extension_dir修改为 extension_dir = "C:\php\ext"
    并且要去掉 extension_dir 前的分号
  4. 找到 extension=php_mysqli.dll 去掉之前的做分号

AH00526错误

现象

AH00526: Syntax error on line 293 of D:/php_web/Apache24/conf/httpd.conf:Invalid command ‘Order‘, perhaps misspelled or defined by a module not includedin the server configuration

原因

mod_authz_host.so模块没有加载

方法

  1. 打开apache的 httpd.conf
  2. 找到 mod_authz_host.so 去掉前面的#号
评论已关闭