XAMPP,一个我们常用的WEB环境软件端,但是有在使用中发现Apache无法启动,这个大概率是可能组件安装不完整或者是端口冲突导致的。我们这里一一排查问题。
没有安装VC9的环境
要判断是否是这一问题十分简单,只要单独运行 C:\xampp\apache\bin\httpd.exe 时(这个是我的安装路径),提示“系统无法执行指定的程序”(这个是用命令行运行后的提示),如果是直接双击httpd.exe,则会提示环境配置错误。
解决办法:直接下载vcredist_x86.exe
以下是在php.net看到的提示信息:
VC9 Versions are compiled with the Visual Studio 2008 compiler and have improvements in performance and stability. The VC9 versions require you to have the Microsoft 2008 C++ Runtime (x86) or the Microsoft 2008 C++ Runtime (x64) installed
按照链接下载了 Microsoft Visual C++ 2008 Redistributable Package (x86) ,就是那个vcredist_x86.exe,一个运行时环境,使用户能够在未安装 Visual C++ 2008 的计算机上运行使用 Visual C++ 开发的应用程序。装好后启动Apache,一切正常。
端口被其它程序占用
有时,并不是安装完VC9环境就可以直接运行Apache,其中一个重要的原因,便是Apache服务器所使用的端口被其它程序占用了,经典代表:迅雷。
解决办法:
1.80端口冲突,解决方法: 打开目录 C:\xampp\apache\conf (我的安装目录为 C:\xampp )下的 httpd.conf 文件,将 Listen 80 和 ServerName localhost:80 中的80改为8081或其它值(尽量不要使用0-1023端口,这个是系统保留端口),要保持一致。
2.监听端口443冲突,解决方法: 打开目录 C:\xampp\apache\conf\extra (我的安装目录为 C:\xampp )下的 httpd-ssl.conf 文件,将 Listen 443 这句注释掉: # Listen 443 或将443改为4433或其它值(尽量不要使用0-1023)。
3.Apache启动后又马上停止, 一种情况是,Apache已经正常启动,只是Xampp的控制面板没有显示而已,你可以通过在浏览器中输入 http://localhost:8081 ,如果能直接进入Apache服务器的控制页面就是没有问题的了。
另一种情况,原因可能是由于安装了oracle10g,与其中的perl5lib变量发生了冲突,解决方法有3种:
(1)打开目录 C:\xampp\apache\conf (我的安装目录为 C:\xampp )下的 httpd.conf 文件,将 Include "conf/extra/httpd-perl.conf" 注释掉: # Include "conf/extra/httpd-perl.conf" 。
(2)打开目录 C:\xampp\apache\conf\extra (我的安装目录为 C:\xampp )下的 httpd-perl.conf 文件,找到 LoadModule perl_module modules/mod_perl.so ,在下面一行增加PerlSwitches –T,保存文件即可。
(3)修改环境变量:在环境变量path中增加 C:\xampp\perl\lib; C:\xampp\perl\site\lib; 即可。 前两种方法的任一种都能解决我遇到的apache启动后又马上停止的问题,第3种方法我遇到的是没显示,但已经运行,至于另一种情况可能对某些网友有用,所以也把它写了出来,以供参考。
其它方法
下面的解决方法也是网友在实际中用到的,不过本人并不推荐。原因在于,可以更改服务器配置,就尽量不要动操作系统的环境和配置,要不然,以后其它软件出问题,你也不知道是不是这个系统设置惹的祸。当然,如果你对你的操作系统足够熟悉就另当别论。而现在我只是写出来,供大家参考,也许由于你的原因特殊,正好解决你的问题。
1、关闭占用80端口的进程。 在“运行”中输入cmd命令,打开dos窗口,输入命令:netstat –abn –>D:\port.txt或命令netstat –ano|findstr 80命令,打到占用80端口的进程,然后打任务管理器窗口,关闭该进程。此方法治标不治笨,执行比较麻烦,不推荐使用。
2、修改网络设置
(1)网上邻居——本地连接——属性——internet协议(TCP/IP)——属性——高级——wins标签——去掉“启用LMHOSTS查询(L)”前的勾。
(2)控制面板——Windows防火墙——“高级”标签——本地连接——设置——“服务”标签——勾选“安全web服务器(HTTPS)。
本文出处:老蒋部落 » 解决XAMPP环境中的Apache无法启动的原因和解决办法 | 欢迎分享( 公众号:老蒋朋友圈 )