Apache不从XAMPP控制面板运行(错误:Apache意外closures,这可能是由于端口被阻塞)
我在Windows 7上安装了XAMPP(xampp-win32-1.8.2-0-VC9-installer.exe)。 但不幸的是,在从XAMPP控制面板运行Apache期间发现了以下错误:
5:38:38 PM [Apache] Error: Apache shutdown unexpectedly. 5:38:38 PM [Apache] This may be due to a blocked port, missing dependencies, 5:38:38 PM [Apache] improper privileges, a crash, or a shutdown by another method. 5:38:38 PM [Apache] Press the Logs button to view error logs and check 5:38:38 PM [Apache] the Windows Event Viewer for more clues 5:38:38 PM [Apache] If you need more help, copy and post this 5:38:38 PM [Apache] entire log window on the forums
这个问题有很多可能的答案。 最常见也是最可能的是,你正在运行另一个阻止端口80或443的程序。如果你已经安装Skype,那么你已经发现你的问题! 改变apache的端口设置为81,Apache将工作。 有一个很好的教程要检查这个,你可以打开你的命令行,通过点击开始菜单,然后input“cmd”,然后input命令
netstat -nab
这将返回一个程序的列表,将隐约类似于这种模式
[someprogram.exe] UDP [fe80::numbers:numbers:numbers:numbers%numbers]:portnumber
你需要find一行以80结尾的行,然后终止它们以启动apache。 如果没有以80结尾的行,可以做更多的事情。
首先,导航到xampp的目录(默认是c:\ xampp),然后双击apache_start.bat。 这将打开一个命令行,并返回有关为什么Apache无法运行的更详细的错误。 大多数情况下,通过编辑httpd.conf或httpd-ssl.conf文件来查找可能已经创build的语法错误。 如果你编辑它并且是一个新用户,这很容易做。
如果仍然失败,最后的希望是通过点击xampp控制面板中apache行的日志选项卡并单击错误日志来检查apache错误日志。
如果这些都不起作用,不要放弃! 你有这个!
编辑:如果你改变了apache的端口,你还必须进入httpd.conf(位于xampp / apache / conf)和第184行附近,replace
ServerName localhost:80
同
ServerName localhost:81
也可以在localhost的url中指定端口81,即
本地主机:81 / my_project.php
1.进入xampp/apache/conf/httpd.conf
并打开它。
在第line 176
的httpd.conf
文件中replace
ServerName localhost:80
同
ServerName localhost:81
它会工作。
2.即使上述程序不起作用。 然后在同一个文件( httpd.conf
)中第45行replace
#Listen 0.0.0.0:80 #Listen [::]:80 Listen 80
同
#Listen 0.0.0.0:81 #Listen [::]:81 Listen 81
我发现Windows下的XAMPP控制面板(在我的情况下是Windows 7)并不反映实际上正在进行的操作,除非以“以pipe理员身份运行”启动它。
陪同Timmay的回答,你需要做两个改变 –
听80 – >听81(靠近58行)
ServerName localhost:80 – > ServerName localhost:81(在第218行附近)
刚换了2行
Listen 80 to Listen 81 ServerName localhost:80 to ServerName localhost:81
并开始使用pipe理员权限
检查您的计算机上是否安装了Skype。
login并进入工具 – 选项 – 高级 – 连接,取消选中使用端口80的框
–
从运行命令提示符启动services.msc,检查是否已经安装了Apache服务。
如何从命令提示符中删除服务? sc删除“serviceName”
请记住,服务名称应replace为服务的确切名称,如服务列表所示。
检查IIS是否正在运行,并占用端口80.如果是,请禁用它。
–
检查AVP(卡巴斯基)是否正在运行,并占用端口80.如果是这样,请将httpd.exe作为例外添加到允许的程序中。
–
希望能帮助到你。
你执行了“setup_xampp.bat”脚本吗? 它位于XAMPP文件夹内,每次更改XAMPP文件夹时都必须执行它。
我已经安装了VMWare Workstation。 所以,这是造成错误。
Services.msc and stopped the 'Workstation' Services.
这已经解决了我的问题。
谢谢
如果您安装了Skype,请检查此选项。
另一种情况是Windows 10
检查这个:
- 转到开始,inputservices.msc
- 在“服务”窗口中向下滚动以查找万维网发布服务。
- 右键点击它,然后select停止或禁用它,如果你只想使用XAMPP。
我发现在我的系统上的类似的问题,这是从安装xampp之前安装的skype。 我有类似的错误。 为了解决这个错误,
- login到Skype一段时间,
- 从xampp控制面板重新启动apache,
- 在浏览器中检查,无论是否工作,通过http:// localhost /
- 得到它的工作,
- 再次login到Skype,
- 所有的工作都很棒,就这么简单
我不需要任何安装或卸载,这对我在不到1分钟的工作。
干杯
如果您在Windows上完成全新安装后直接面对此问题:
看起来安装程序已经启动了http.exe进程,并且阻止了初始端口80,但是在控制面板中并没有反映出这个状态。
要validation,只需在浏览器中testing正在运行的服务器即可。 input您的浏览器地址栏:
本地主机
如果这显示XAMPP仪表板,你没事。 或者,检查任务pipe理器是否正在运行“Apache HTTP Server”(httpd.exe)进程。
你可以用你的xampp基础文件夹中的xampp_stop.exe来停止apache进程。 然后,XAMPP控制面板应按预期工作。
如果您安装了SQL Express或任何.Net服务器,则需要停止。 以pipe理员模式打开cmd并键入这一行…
净停止了
现在启动apache
$$$$$$$$最好的方法是$$$$$$$$$
上面解释的其他方法会让你卡在很多地方不要去改变端口
2步骤过程
1)以pipe理员身份打开命令提示符
2)input'net stop http'(如果说它没有标识关键字,那只是因为你的环境variables的PATH没有包含Program Files / System32的path,你可以search如何做)按Y在每一个地方都要求你,不要担心你没有停止任何重要的过程,只是你的港口的一些过程。 一旦你不工作,这个过程将再次接pipe你的端口。
请享用 !!
在我的情况下,问题是端口80和443正在使用:步骤来解决它是:
- 打开xampp并点击configurationbutton
- 现在点击(Appache)httpd.conf(在记事本或其他编辑器中打开)
- 现在点击ctrl + h 。
- find
80
并用8080
replace - 现在保存,现在点击Appache(httpd-ssl.conf)。
- 现在find
443
并4430
。 - 现在你的xampp必须工作正常,因为这两个代码从来没有被你的系统上的其他程序使用。
我有一个解决scheme。 我有这个问题,研究一个解决scheme,但我没有成功。 所以我下载了更新版本的XAMPP,并在程序中点击了netstats选项。
在那里,他给了我一个程序列表和他们使用的端口,所以我看,没有使用80
端口的程序,但超过80
Apache也使用端口443
…有一个名为Pando Media Boster这个门,我开始任务pipe理器,并完成了潘多的平均过程。 希望它帮助:)。
可能你在“httpd-ssl.conf”中更改configuration文件
<VirtualHost _default_:443> DocumentRoot "D:/Server/xServer" ServerName xyz.abc.com SSLCertificateFile "conf/ssl.crt/xyz.crt" SSLCertificateKeyFile "conf/ssl.key/sftaps.in.key" </VirtualHost>
可能是你更改证书名称或Apache文件夹中的东西。
可以有很多方法来解决这个问题,但这里是最简单的一个:
转到XAMPP控制和…
以pipe理员身份运行
就这样..
这是任何这种exception的金点。
工作背后的概念
实际上,Xampp中的所有服务都需要Ports依赖。 会发生什么是,当没有特殊的权力给xampp,它只会寻找一些预定义的端口来运行这些服务。 而且,如果这样的话,那些端口在某种程度上已经很忙了… eek! 该服务无法启动。
但是,如果我们给Xampp控件(通过以pipe理员身份运行)赋予超级大国超级大国,它将以某种方式pipe理,并且当然在地球上将运行在端口上的服务。 胜利! 你做到了。
给我亲爱的兄弟和姐妹的永久小费
要做到这一点,请按照下列步骤操作:
- 右键单击 xampp-control.exe文件并转到属性。
- 转到兼容性选项卡。
- 在下面的设置中,selectcheckbox以pipe理员身份运行此程序 。
- 应用更改。 你完成了。
现在,每次运行应用程序时,它都将以pipe理员身份运行,您根本无需关心端口。
即使您已将Apacheconfiguration为在另一个端口上侦听,但如果另一个程序正在使用默认的SSL端口443,仍然会出现此错误。
您还需要编辑http-ssl.conf文件,并更改Listen 443行并在此处更改端口号。
我也面临同样的问题。 我发现了一个简单而快速的解决scheme。
你唯一需要做的就是每次以pipe理员身份运行XAMPP服务器。
在这里input图像说明
萨拉姆
你不需要改变端口号。
只能去任务pipe理器和结束任务正在运行的任何其他程序。
然后你可以开始APACHE …….
此致