昨天遇到的一个问题,安装XAMPP后无法启动Apache服务,本以为可能是一些系统服务文件被占用的原因,安装软件后需重启一遍。可是重启计算机后依然无法启动Apache服务,状态栏里总是显示“Apache started [Port 80]”,是端口被占用的原因吗?排查一遍后也不是。后来只好求助于搜索引擎,在变换关键词搜索几次后终于找到问题所在。

XAMPP启动界面

XAMPP安装包下载:https://www.fdeer.com/1228.html

XAMPP Apache 无法启动原因1(缺少VC运行库):

这个就是我遇到的问题原因,下载安装的XAMPP版本是xampp-win32-1.7.7-VC9,而现有的Windows XP系统又没有安装VC9运行库,所以无法继续运行相关服务,这个可以在Windows事件查看器里看到错误日志提示。

既然找到问题原因,解决就很容易了,到微软下载中心搜索下载安装一个Microsoft Visual C++ 2008 Redistributable安装包即可。

XAMPP Apache 无法启动原因2(80端口被占用):

这是无法启动Apache服务的最常见原因了,像迅雷等P2P软件都会占用80端口,一般关闭这些软件后就可以启动了,如果你有需要也可以先启动XAMPP后再开这些软件。

如果无法确定是哪个程序占用了80端口,可以按下面方法找出:

1、打开“开始菜单”——点击“运行”——输入“CMD”打开命令行窗口,在里面输入“netstat -ano”命令并回车(不包含双引号,为防止输入错误,你可以直接复制用鼠标右键粘贴)。

2、运行命令后,会显示一系列端口的使用情况,查找到“0.0.0.0: 80”对应的PID进程标识符,记录下来,等下会用到。

3、鼠标右键点击桌面任务栏,打开Windows任务管理器,在“查看”——“选择列”中勾选“PID(进程标识符)”确定,即可看到每个程序使用的端口状态。结合上面所查到的80端口对应的PID进程标识符,就可确定是哪个程序占用了80端口。要关闭该程序建议先从该软件界面中关闭,如果找不到软件界面关闭,可鼠标右键直接结束该进程。

如果不想这么麻烦,也可以修改XAMPP不使用80端口使用其它,修改方法:打开XAMPP安装目录,修改\apache\conf\httpd.conf文件,找到下面这两句,将端口修改为8081或其它即可。

Listen 80

ServerName localhost:80

XAMPP Apache 无法启动原因3(443端口被占用):

这个情况比较少见,会占用443端口的程序并不多。XAMPP启动除需要80端口外,还有一个加载SSL模块的443端口。如果你遇到443端口被占用的情况,有三种方法可以解决,分别是:

1、排查端口占用程序,关闭后再启动XAMPP(排查方法见上面)。

2、修改XAMPP SSL模块使用端口号,修改方法:打开XAMPP安装目录,修改\apache\conf\extra\httpd-ssl.conf文件,找到Listen 443这么一句,将443端口改成4433或其它。

3、如果你不使用Apache的https,也可以关闭掉SSL模块,方法如下:打开XAMPP安装目录,修改\apache\conf\httpd.conf文件,找到Include “conf/extra/httpd-ssl.conf”这句,将其注释掉即可。

XAMPP Apache 无法启动原因4(关闭mod_perl模块):

如果Apache服务启动后又马上自动关闭,那么你可以试着运行XAMPP安装目录下的xampp_start.exe程序文件,将mod_perl模块关闭掉。


XAMPP MYSQL无法启动的解决办法

解决方法:

运行xampp\mysql目录下的mysql_installservice.bat,弹出dos窗口后按任意键关闭。

然后再运行此目录下的mysql_uninstallservice.bat即可。

现在XAMPP的控制版面就可以成功启动MySql了。

之前要确保XAMPP能正常工作,端口80和443、3306必须空闲。

没空闲的话可以用端口监听工具查,然后结束相应进程。

或者在cmd输入netstat  -ano,看这几个端口是否占用。

若占用,记住PID,然后在任务管理器里对于相应的PID,结束即可。

没PID显示的话点击任务管理器的查看,然后点选择列,勾选PID即可。

声明:
本站所有文章,如无特殊说明或标注,均为本站原创发布。
任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。
如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。