我刚刚重新安装XAMPP,当我试图在XAMPP控制面板中启动我的Apache服务器时,我现在得到以下错误:

16:50:25  [Apache]     Status change detected: running
16:50:26  [Apache]     Status change detected: stopped
16:50:26  [Apache]     Error: Apache shutdown unexpectedly.
16:50:26  [Apache]     This may be due to a blocked port, missing dependencies,
16:50:26  [Apache]     improper privileges, a crash, or a shutdown by another method.
16:50:26  [Apache]     Press the Logs button to view error logs and check
16:50:26  [Apache]     the Windows Event Viewer for more clues
16:50:26  [Apache]     If you need more help, copy and post this
16:50:26  [Apache]     entire log window on the forums

我怎么解决这个问题?


当前回答

这对我很有用,我想和大家分享

如果您已经按照本文中的步骤为xampp创建了ssl

打开C: \ xampp \ apache \ conf \额外\ httpd-xampp.conf

检查SSLCertificateFile "crt/site.test/server.crt"

如果网站。在httpd-xampp.conf中的test是不同的,然后检查C:\xampp\apache\crt\#YOUR_SITE_NAME_HERE\。 改变网站。在httpd-xamp .conf中测试#YOUR_SITE_NAME_HERE

其他回答

如果上面所有的答案都不奏效,那么就这么做。注释掉php.ini文件中的所有扩展名。

In xampp control panel, click on Apache config. click on php.ini In php ctrl + F (extension) to find all extensions in your php.ini Comment out each and every active extension by adding a ; at the start of each extension line. example ;;;extension=bz2 i put 3 ;;; because i wanted to know ones i commented out so that when i come back to deburg which one had a problem, it was easy for me to see which ones i commented out. Make sure all extensions=whatever are commented out. Run your apache server. To pickup which extension was the problem, one by one un-comment your extensions while restarting your server until you catch the culprit.

首先确保你的\xampp文件夹在根目录下!这很重要,因为路径是相对的。 然后确保以管理员权限运行xampp_control.exe。 然后更改下面的文件,以避免阻塞端口80的问题。

在\xampp\xampp-control.ini中应该这样设置:

[ServicePorts]
Apache=8080
ApacheSSL=4433

找到\xampp\apache\conf\httpd.conf并设置:

Listen 8080

ServerName localhost:8080

找到\xampp\apache\conf\extra\httpd-ssl.conf并设置:

Listen 4433

<VirtualHost _default_:4433>

ServerName www.example.com:4433

然后结束所有服务,以admin权限重新启动xampp-control.exe。它应该运行!

我试了所有的办法,但我的问题还是没有解决。事实证明,在安装Visual Studio 2019之后,我的c++可重分发文件发生了很多变化。

我实际上在跑步

test_php.bat

它告诉了我错误是什么

C:\Windows\SYSTEM32\VCRUNTIME140.dll' 14.0与此PHP构建不兼容,该PHP构建在未知的第0行中链接到14.28

因此,我开始了:

微软Visual Studio网站->其他工具,框架,和 > Microsoft Visual c++ Redistributable for Visual Studio 2019

和下载。安装文件并重新启动我的电脑后,问题就解决了。Apache现在可以正常运行了

对我来说,万维网发布服务使用的是80端口。我通过在cmd上运行以下命令来杀死它:

net stop http

在那之后,XAMPP运行Apache没有任何问题。

我收到了上面相同的错误,导致我的原因是在文件'httpd-vhosts.conf'中,我在<Directory>标签中放了一个注释,就像这样…

<Directory "*PATH TO MY FOLDER*...">
        AllowOverride All
        Require all Granted    ## This directive could/should be set to denied.
</Directory>

一旦我删除了注释,Apache就启动了。我想我应该把注释放在它自己的行里。我只是想,像其他网络代码一样,它可以在那里。