已有40人关注
apache提示:(协议/网络地址/端口)只允许使用一次
发表在PHP图书答疑 2015-05-23
是否精华
版块置顶:
我按照php入门经典中搭建php环境。我的系统是Windows 2008 r2  安装的Appserv集成开发包,安装过程一切顺利,所有服务正常启动,网站也可正常浏览。但是在查看apache错误日志时,看到如下信息:(OS 10048)通常每个套接字地址(协议/网络地址/端口)只允许使用一次。  : make_sock: could not bind to address 0.0.0.0:80 no listening sockets available, shutting down
 Unable to open logs

我查了下资料应该是端口占用问题,我查看了端口,80端口是被httpd.exe占用,也就是被apache自己占用。不知到怎么会这样。按照网上的做法改了apache的端口号,原来80改成88,但是又提示88被httpd占用,不论改成哪个端口http.exe就占用哪个端口。如果注释掉80端口就显示:no listening sockets available, shutting downUnable to open logs这时网站也就无法访问了。不知:(OS 10048)通常每个套接字地址(协议/网络地址/端口)只允许使用一次。make_sock: could not bind to address 0.0.0.0:80 no listening sockets available, shutting down
 Unable to open logs是什么原因引起的

apache可以正常启动,测试网站也正常,就是不知道,如何解决这个问题。希望老师能给予指点。谢谢!
分享到:
精彩评论 7
轻鸿_mrkj
学分:0 LV1
TA的每日心情
加油
2020-12-25 20:06:49
2015-05-25
沙发
读者您好:
您在任务管理器结束掉httpd进程,再重启apache服务,之后看下是否还出现这个提示。
youth
学分:0 LV1
2015-05-25
板凳
[FIELDSET][LEGEND]引自:1楼[/LEGEND]
读者您好:
您在任务管理器结束掉httpd进程,再重启apache服务,之后看下是否还出现这个提示。
[/FIELDSET]

回复:我试过了,不行啊。重启后还是和原来一样。
  
轻鸿_mrkj
学分:0 LV1
TA的每日心情
加油
2020-12-25 20:06:49
2015-05-25
地板
你的apache服务器已经启动了,这时你输入httpd,就会出现那个提示,因为此时已经有80端口被占用。如果你停止apache服务,再用
httpd -k start命令来启动apache服务,就不会出现该提示。
youth
学分:0 LV1
2015-05-25
4L
[FIELDSET][LEGEND]引自:3楼[/LEGEND]
你的apache服务器已经启动了,这时你输入httpd,就会出现那个提示,因为此时已经有80端口被占用。如果你停止apache服务,再用
httpd -k start命令来启动apache服务,就不会出现该提示。
[/FIELDSET]

回复:按照老师说的试了也不行。你看下截图。我在服务里面停止了apache服务。然后用命令 httpd -k start 来启动apache,启动后还是存在这个问题。
轻鸿_mrkj
学分:0 LV1
TA的每日心情
加油
2020-12-25 20:06:49
2015-05-25
5L
[FIELDSET][LEGEND]引自:4楼[/LEGEND]
[FIELDSET][LEGEND]引自:3楼[/LEGEND]
你的apache服务器已经启动了,这时你输入httpd,就会出现那个提示,因为此时已经有80端口被占用。如果你停止apache服务,再用
httpd -k start命令来启动apache服务,就不会出现该提示。
[/FIELDSET]

回复:按照老师说的试了也不行。你看下截图。我在服务里面停止了apache服务。然后用命令 httpd -k start 来启动apache,启动后还是存在这个问题。

[/FIELDSET]

回复:
  apache已经启动成功了,你再去输入httpd命令,它会提示你80端口只允许使用一次,这个是正常的吖。请问你输入httpd命令是想要做什么呢?
youth
学分:0 LV1
2015-05-25
6L
[FIELDSET][LEGEND]引自:5楼[/LEGEND]
[FIELDSET][LEGEND]引自:4楼[/LEGEND]
[FIELDSET][LEGEND]引自:3楼[/LEGEND]
你的apache服务器已经启动了,这时你输入httpd,就会出现那个提示,因为此时已经有80端口被占用。如果你停止apache服务,再用
httpd -k start命令来启动apache服务,就不会出现该提示。
[/FIELDSET]

回复:按照老师说的试了也不行。你看下截图。我在服务里面停止了apache服务。然后用命令 httpd -k start 来启动apache,启动后还是存在这个问题。

[/FIELDSET]

回复:
  apache已经启动成功了,你再去输入httpd命令,它会提示你80端口只允许使用一次,这个是正常的吖。请问你输入httpd命令是想要做什么呢?
[/FIELDSET]

回复:谢谢老师!在刚装上appserv时,windows服务中apache已经启动,我又去用appserv自带的启动命令去启动提示这个。我在命令中输入httpd是不是相当于在次启动httpd.exe这个进程所以提示80占用。每次配置完apache就用安装appserv自带的apache restart去重启apache 但是有错误提示时,显示的时间很短。所以在http中看错误提示。不知道这样做对不对。
  
轻鸿_mrkj
学分:0 LV1
TA的每日心情
加油
2020-12-25 20:06:49
2015-05-25
7L
读者您好:
AppServ安装成功时,apache服务是自动启动的。这时再使用httpd命令,会产生你看到的那个提示。而如果apache服务启动失败,那时你在使用httpd命令,会给出你apache服务启动失败的提示,你可以根据它给出的信息具体判断为什么服务启动失败。通常情况下,httpd命令是跟着后面的参数一起使用的。例如httpd -k start
首页上一页 1 下一页尾页 7 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照