一般在cmd中直接运行httpd会有详细的错误提示!


未找到服务

前期准备

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

添加apache服务

键入命令:

1httpd.exe -k install -n apache2.2

结果显示:

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

删除apache服务

键入命令:

1httpd.exe -k uninstall -n apache2.4

结果显示:

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

启动apache服务

键入命令:

1net start apache2.4

结果显示:

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

关闭apache服务

键入命令:

1net stop apache2.4

结果显示:

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

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

##80端口被占用

  1. 先用命令行
1   netstat -an -p tcp -o
  1. 关掉对应的程序
  2. 或是更改端口

ServerRoot must be a valid directory

现象

1D:\apache\Apache24\bin>httpd -k install 
2Installing the 'Apache2.4' service The 'Apache2.4' service is successfully installed. 
3Testing httpd.conf.... 
4Errors reported here must be corrected before the service can be started. 
5httpd: 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

现象

1Syntax 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. 在文件末尾加
1LoadModule php5_module "D:\PHPserver\php5.6/php5apache2_4.dll"
2AddType application/x-httpd-php.php
3AddType 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错误

现象

1AH00526: 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 去掉前面的#号