我已成功在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
答案 0 :(得分:79)
这个问题有很多可能的答案。最常见也是最可能的是你正在运行阻止端口80或443的另一个程序。如果你已经安装了Skype,那么你就找到了问题!将apache的端口设置更改为81,apache将起作用。有一个很好的教程要检查这一点,你可以通过单击开始菜单打开命令行,然后输入'cmd',然后输入命令
netstat -nab
这将返回一个模糊地类似于这种模式的程序列表
[someprogram.exe]
UDP [fe80::numbers:numbers:numbers:numbers%numbers]:portnumber
您需要找到以:80结尾的一行(或多行)并终止它们以启动apache。如果没有以80结尾的行,那么你可以做更多的事情。
首先,导航到xampp的目录(默认为c:\ xampp),然后双击apache_start.bat。这将打开一个命令行并返回有关为什么apache无法运行的更详细错误。通常,要查找您可以通过编辑httpd.conf或httpd-ssl.conf文件创建的语法错误。如果您已经编辑并且是新用户,这很容易做到。
如果仍然失败,您最后的希望是通过单击xampp控制面板中apache行中的logs选项卡并单击错误日志来检查apache错误日志。
如果这些都不起作用,请不要放弃!你有这个!
编辑:如果您更改了apache的端口,您还必须进入httpd.conf(位于xampp / apache / conf中)和第184行附近,替换
ServerName localhost:80
与
ServerName localhost:81
也可以在localhost的url中指定端口81,即
本地主机:81 / my_project.php
答案 1 :(得分:33)
1。进入xampp/apache/conf/httpd.conf
并打开它。
在httpd.conf
文件line 176
替换
ServerName localhost:80
与
ServerName localhost:81
它会起作用。
或2. 即使上述程序不起作用。然后在第45行的同一文件(httpd.conf
)中替换
#Listen 0.0.0.0:80
#Listen [::]:80
Listen 80
带
#Listen 0.0.0.0:81
#Listen [::]:81
Listen 81
答案 2 :(得分:14)
我发现Windows下的XAMPP控制面板(在我的情况下是Windows 7)并不反映实际发生的情况,除非您通过“以管理员身份运行”启动它。
答案 3 :(得分:12)
伴随着Timmay的回答,你需要做两处改变 -
聆听80 - >听81(第58行附近)
ServerName localhost:80 - > ServerName localhost:81(第218行附近)
答案 4 :(得分:10)
您是否执行过“setup_xampp.bat”脚本?它在XAMPP文件夹中,每次更改XAMPP文件夹时都必须执行它。
答案 5 :(得分:9)
刚改变了2行
Listen 80
to
Listen 81
ServerName localhost:80
to
ServerName localhost:81
并开始使用管理员权限
答案 6 :(得分:8)
在我的情况下,问题是端口80和443都在使用中: 用于修复它的步骤是:
80
并替换为8080
443
并替换为4430
。现在您的localhost将以localhost:8080
答案 7 :(得分:6)
如果您安装了Skype,请选中此选项。
另一个案例是Windows 10
检查一下:
答案 8 :(得分:6)
我安装了VMWare Workstation。所以,它导致了错误。
Services.msc and stopped the 'Workstation' Services.
这解决了我的问题。
由于
答案 9 :(得分:6)
检查您的计算机上是否安装了Skype。
登录并转到“工具” - “选项” - “高级” - “连接”,然后取消选中“使用端口80
”框-
通过从运行命令提示符启动services.msc来检查是否已安装Apache服务。
如何从命令提示符中删除服务? sc删除“serviceName”
请记住,serviceName应该替换为Apache服务的确切名称,如服务列表所示。
检查IIS是否正在运行并占用端口80.如果是,请将其禁用。
-
检查AVP(卡巴斯基)是否正在运行并占用端口80。 如果是这样,请将httpd.exe添加为允许的程序的例外。
-
希望它有所帮助。
答案 10 :(得分:3)
我在我的系统上发现了类似的问题,那是在安装xampp之前安装的skype。我有类似的错误。修复错误我跟着这些,
我不需要安装或卸载任何东西,这对我来说不到1分钟。
欢呼声
答案 11 :(得分:1)
如果您安装了SQL Express或任何.Net Server,则需要停止。 在管理员模式下打开cmd并键入此行...
net stop
现在启动apache
答案 12 :(得分:1)
如果您在Windows上完成全新安装后直接遇到此问题 :
似乎安装程序已启动http.exe进程并阻止初始端口80,但未在控制面板中反映此状态。
要验证,只需在浏览器中测试正在运行的服务器。输入您的浏览器地址栏:
本地主机
如果显示XAMPP仪表板,那就没事了。 或者,检查任务管理器以查找正在运行的“Apache HTTP Server”(httpd.exe)进程。
您可以使用xampp基本文件夹中的xampp_stop.exe停止apache进程。然后,XAMPP控制面板应该按预期工作。
答案 13 :(得分:1)
可以有很多方法来解决这个问题,但这里最简单的一个:
转到XAMPP控制并......
以管理员身份运行
这就是全部..
这是任何此类异常的黄金点。
工作背后的概念
实际上Xampp中的所有服务都需要Ports依赖。 会发生什么,当xampp没有特殊权限时,它只会寻找一些预定义的端口来运行这些服务。而且,如果以防万一,那些端口已经在某种程度上已经忙碌......呃!服务无法启动。
但是如果我们给我们的Xampp控制提供超级大国(通过以管理员身份运行),它将以某种方式进行管理,并且当然在地球上将运行端口上的服务。并且胜利!你做到了。
亲爱的兄弟姐妹们的永久性提示
要一劳永逸地完成这些工作,请按以下步骤操作:
现在,每次运行应用程序时,它都将以管理员状态运行,您根本不需要关心这些端口。
答案 14 :(得分:1)
最好的方法:
上面介绍的其他方法会让你陷入很多地方 不要改变港口
2步骤
1)以管理员身份打开命令提示符
2)输入net stop http
(如果它说它没有识别关键字,那么只是因为您的环境变量的路径不包含Program Files / System32的路径你可以搜索如何做到这一点)
在它要求你的每个地方按Y键,不要担心你没有停止任何重要的过程只是一些接过你的端口的过程。一旦你不工作,这个过程将再次接管你的端口。
答案 15 :(得分:1)
转到 C:xampp \ apache \ conf \ extra \ httpd-ssl.conf
找到提示“收听443”的行,将其更改为“收听4330”,然后重新启动计算机
[![在此处输入图片描述] [2]] [2]
答案 16 :(得分:0)
即使您已将Apache配置为侦听另一个端口,如果另一个程序正在使用默认SSL端口443,您仍会收到此错误。
您还需要编辑的是http-ssl.conf文件并更改该行 收听443 并更改其中的端口号。
答案 17 :(得分:0)
现在才看到这个,因为我有同样的问题,但更改端口或任何其他答案对我不起作用。
这就是问题所在 - 我已将 XAMPP 安装到自定义位置(例如 D:\Programming\XAMPP)。现在,由于 xampp 中的配置文件具有简单的位置(/xampp/mysql/data 等),我的服务无法启动。
所以,我只需要将所有这些位置从 /xampp/mysql/data 重命名为 D:/Programming/XAMPP/mysql/data,现在它可以工作了。
答案 18 :(得分:0)
在终端中运行以下命令,一切将正常运行:
sudo /etc/init.d/apache2 stop
sudo /opt/lampp/lampp start
答案 19 :(得分:0)
使用服务器可以使用的任何方法,之后您可以使用该地址在浏览器中打开页面(如果您将端口80替换为81)
http://localhost:81/phpmyadmin/
答案 20 :(得分:0)
存在相同的问题,以上解决方案均无效。因此,通过仔细阅读日志,我发现了此消息:
10:55:42 [Apache]端口443被““ C:\ Program Files(x86)\ VMware \ VMware Workstation \ vmware-hostd.exe” -u“ C:\ ProgramData \ VMware \ hostd \带有PID 1908的config.xml“”!
就我而言,我只需要停止自动运行的VMWare服务。
关键是启动时请仔细阅读XAMPP面板给出的消息。
希望这项帮助!
答案 21 :(得分:0)
当前将XAMPP用于laravel开发。
我在桌面上安装了Skype,它阻止了端口80和443(Apache都使用了端口)
此修复程序对我有用:
1)在C:\xampp\apache\conf\httpd.conf
下,搜索Listen 80
并更改为Listen 81
2)在C:\xampp\apache\conf\extra\httpd-ssl.conf
下,搜索Listen 443
并更改为Listen 444
答案 22 :(得分:0)
对我来说,这是因为vmware(服务-它具有大约2或3种不同的服务),请停止它,一切正常。
答案 23 :(得分:0)
就我而言,xampp文件夹中没有htdocs
文件夹。似乎需要运行htdocs
文件夹,因此您可以在htdocs
文件夹中创建一个空的xampp
文件夹。
答案 24 :(得分:0)
您可能更改了“httpd-ssl.conf”
中的配置文件<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文件夹中更改证书名称。
答案 25 :(得分:0)
我有一个解决方案。我有这个问题并研究解决方案,但我没有成功。所以我下载了一个较新版本的XAMPP并点击了程序中的netstats选项。
他给了我一个程序列表和他们使用的端口,所以我看了一下,没有使用端口80
的程序,但是80
以外的apache也使用了端口443
...而且这个门上有一个名为Pando Media Boster的程序,我启动了任务管理器并完成了pando Average boster的过程。希望它有所帮助:)。
答案 26 :(得分:-1)
答案 27 :(得分:-7)
萨拉姆,
您无需更改端口号
只去任务经理&amp;结束任务正在运行的任何其他程序。
然后你可以 START APACHE .......
此致,