一般在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 netstat -an -p tcp -o
- 关掉对应的程序
- 或是更改端口
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路径跟实际路径不一致,导致路径无效。
方法
- 打开Apache安装目录下的
conf目录里面的httpd.conf - 然后,搜索
Define SRVROOT(只有一处),将其后面的双引号里面的路径改为Apache的实际解压路径后保存即可。 - 安装apache服务。(上面有)
- 启动apache服务并且测试apache服务
- 浏览器输入: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文件
- 打开Apache安装目录下的
conf目录里面的httpd.conf - 在文件末尾加
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
- 打开
php.ini - 找到doc_root修改为
doc_root ="C:\Apache24\htdocs" - 找到extension_dir修改为
extension_dir = "C:\php\ext"并且要去掉extension_dir前的分号 - 找到
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模块没有加载
方法
- 打开apache的
httpd.conf - 找到
mod_authz_host.so去掉前面的#号