Apache无法启动提示the requested operation has failed

主要参考这篇

http://apps.hi.baidu.com/share/detail/15868128

但还是遇到一些问题,记录如下:

1. 配置完成后,restart apache,出现 

the requested operation has failed

查看log,有

httpd.exe: Syntax error on line 129 of F:/work_soft/www/server/apache/conf/httpd.conf: Can't locate API module structure `php5_module' in file F:/work_soft/www/server/php/php5.dll: No error[Wed Apr 06 09:24:33 2011] [warn] (OS 995)由于线程退出或应用程序请求,已中止 I/O 操作。  : winnt_accept: Asynchronous AcceptEx failed.

这个的确是按自己的想法配的。。。就应该出问题,但是我的php目录下真的没有php5apache2_2.dll啊。

原来是下载的版本问题,按这个解决:

http://zhidao.baidu.com/question/209354696.html

2.Can't locate API module structure `PHPIniDir' in file F:/work_soft/www/server/php

这个就是自作孽,不可活了

我看人家写的是

LoadModule php5_module "D:/WWW/SERVER/PHP/php5apache2_2.dll" PHPIniDir "D:/WWW/SERVER/PHP"

可能他不小心少写了个LoadModule吧,我就给补成:

LoadModule php5_module "F:/work_soft/www/server/php/php5apache2_2.dll"

LoadModule  PHPIniDir "F:/work_soft/www/server/php"

删掉删掉。。

3. [Wed Apr 06 09:48:49 2011] [error] [client 127.0.0.1] client denied by server configuration: F:/work_soft/web/

参考 :

http://zyp731.iteye.com/blog/283433

修改如下:

<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Allow from all
</Directory>

--------------------------------------------------------------------------------

Apache无法启动提示the requested operation has failed

这是我这两天频繁遇到的问题。Apache服务器还真是问题少年!任何点改动都可能导致它无法使用。

原因一:80端口占用例如IIS,另外就是迅雷。我的apache服务器就是被迅雷害得无法启用!

原因二:软件冲突装了某些软件会使apache无法启动如Dr.com 你打开网络连接->TcpIp属性->高级->WINS标签 把netbios的lmhosts对勾去掉,禁用tcp/ip的netbios. 然后再启动应该就可以了。

原因三:httpd.conf配置错误如果apache的配置文件httpd.conf搞错了,在windows里启动它,会提示the requested operation has failed,这是比较郁闷的事,因为查错要看个半天。 其实可以用命令行模式启动apache,并带上参数,apache会提示你哪句有误,然后就可以针对性的解决。

检查错误方法:进入cmd 然后进入 Apache安装目录(具体为你自己的安装目录)in> httpd.exe -w -n "Apache2" -k start

(引号中的Apache2修改为你的Apache服务名,我的是2.2.4版,服务名就是Apache2,可以到计算机服务里找)

提示133行有问题时(提示:Syntax error on line 133 of ...........),打开Apache安装目录confhttpd.conf 找到第133行的ServerAdmin (没有工具确定行数的按ctrl+F 用"ServerAdmin"关键字查找,一般会有两个,下面那个就是)这行在其后空一格,随便加个名字,例如,加上abc后,就可以解决了.

 

如果是端口占用(提示:(OS 10048)通常每个套接字地址(协议/网络地址/端口)只允许使用一次。),先退出Apache,在httpd.conf中搜索Listen 80 ,将80改成8080或者别的端口号,重新运行一下Apache,这下应该能够启动了.

以上是一般无法启动时用的方法,拿出来供有类似问题的朋友参考.希望有所帮助.

如果是网站根目录设置不对也会启动不了,Apache事还真多.有两处。在httpd.conf中查找 Apache/htdocs .修改即可,如K:/IDDCWEB/wwwroot
一般文件地址的“”在Apache里要改成“/”。

如果用的Apache2.24版本,要选择php中的php5apache2_2.dll加载.

下面附加自己修改httpd.conf的一些设置.供大家参考比较.

1.改网站根目录,有两处。查找 DocumentRoot 和 Directory.修改即可,如D:/wwwroot    ;主要是一般文件地址的“”在Apache里要改成“/”。

2.首页设置,DirectoryIndex,添加相关首页项即可,如index.php ihdex.htm

3.查找LoadModule ssl,在下面加两行,第一行“LoadModule php5_module D:/Server/php/php5apache2_2.dll”是指以module方式加载php,第二行“PHPIniDir "D:/php"”是指明php的配置文件php.ini的位置,是当然,其中的“D:/php”要改成你先前选择的php解压缩的目录。

4.查找AddType application/x-gzip .gz .tgz,在下面加入“AddType application/x-httpd-php .php”、“AddType application/x-httpd-php .html”两行,你也可以加入更多,实质就是添加可以执行php的文件类型,比如你再加上一行“AddType application/x-httpd-php .htm”,则.htm文件也可以执行php程序了,你甚至还可以添加上一行“AddType application/x-httpd-php .txt”,让普通的文本文件格式也能运行php程序。

5.搜索ServerName   修改网站名字后面的端口 为前面改过的端口,如果没改过,省略.

转载请注明原文地址:http://www.server110.com/apache/201312/4570.html

原文地址:https://www.cnblogs.com/XACOOL/p/5264009.html