Java自学者论坛

 找回密码
 立即注册

手机号码,快捷登录

恭喜Java自学者论坛(https://www.javazxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,会员资料板块,购买链接:点击进入购买VIP会员

JAVA高级面试进阶训练营视频教程

Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程Go语言视频零基础入门到精通Java架构师3期(课件+源码)
Java开发全终端实战租房项目视频教程SpringBoot2.X入门到高级使用教程大数据培训第六期全套视频教程深度学习(CNN RNN GAN)算法原理Java亿级流量电商系统视频教程
互联网架构师视频教程年薪50万Spark2.0从入门到精通年薪50万!人工智能学习路线教程年薪50万大数据入门到精通学习路线年薪50万机器学习入门到精通教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程MySQL入门到精通教程
查看: 826|回复: 0

PHP Apache shutdown unexpectedly启动错误解释及解决的方法

[复制链接]
  • TA的每日心情
    奋斗
    2024-4-6 11:05
  • 签到天数: 748 天

    [LV.9]以坛为家II

    2034

    主题

    2092

    帖子

    70万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    705612
    发表于 2021-4-17 10:06:59 | 显示全部楼层 |阅读模式

    在学PHP的时候,偶然发现XAMPP窗体Apache的启动出现错误,出现下面的错误提示:

    9:52:41  [Apache] Attempting to start Apache app...

    9:52:41  [Apache] Status change detected: running
    9:52:42  [Apache] Status change detected: stopped
    9:52:42  [Apache] Error: Apache shutdown unexpectedly.
    9:52:42  [Apache] This may be due to a blocked port, missing dependencies, 
    9:52:42  [Apache] improper privileges, a crash, or a shutdown by another method.
    9:52:42  [Apache] Check the "/xampp/apache/logs/error.log" file

    9:52:42  [Apache] and the Windows Event Viewer for more clues


    这个问题比較常见, 一般是80、443port被占用

    cmd 通过执行apache/bin/httpd.exe 打印例如以下log: 
    通过执行cmd ,输入命令行 netstat -a 查看全部的被占用的port;例如以下图:

    如图可知, 443的port被占用了,导致Apache 无法正常启动;

    解决的方法例如以下:

    (OS 10048)通常每一个套接字地址(协议/网络地址/port)仅仅同意使用一次。 : make_sock: could not bind to address 0.0.0.0:443
    或者后面是80port被占用

    (OS 10048)通常每一个套接字地址(协议/网络地址/port)仅仅同意使用一次。

    : make_sock: could not bind to address 0.0.0.0:80 或[ : : ]:80

    一、最快的处理方法就是改动port号:

    1、443port被占用。apache无法监听443port,该怎样解决呢?

    在/xampp/apache/conf/extra/httpd-ssl.conf

    把Listen 443 改动为 444(可自己定义)


    2、80port被占用,apache无法监听80port。该怎样解决呢?

    在/xampp/apache/conf/extra/httpd.conf

    把Listen 80 改动为 88 (可自己定义)

    假设配置了vhosts的话请把httpd-vhosts.conf 中port改为88(同上port号)


    二、最直接的方法是关闭占用80、443port的进程:
    1. 通过cmd中netstat -ano 看看本机80、 443port被占用没 ----- --这里 可能会被其它程序占用如iis、虚拟机等
    2.通过cmd中打印tasklist,查找占用80、443port的进程名称。


    3.taskkill /pid port号 杀掉此进程名称。XAMPP重新启动apache就可以。

    综上所述第一种方法推荐使用,另外一种每次启动都或多或少的再次遇到。



    哎...今天够累的,签到来了1...
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|小黑屋|Java自学者论坛 ( 声明:本站文章及资料整理自互联网,用于Java自学者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-5-17 03:44 , Processed in 0.068773 second(s), 29 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表