我刚刚重新安装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

我怎么解决这个问题?


当前回答

同样的错误。原来我加载了错误版本的zend xdebug扩展。xdebug向导说使用TS(线程安全)版本(即没有- nts -),但显然我下载了错误的非线程安全版本。即使我在php.ini文件中有正确的路径和文件名,我仍然得到错误。当我下载不同的版本,并再次更新php.ini时,一切都运行正常。

php_xdebug-2.7.0-7.3-vc15-nt -x86_64.dll给了我一个错误,但php_xdebug-2.7.0-7.3-vc15-x86_64.dll没有错误

其他回答

当我使用命令发现没有进程使用端口80时

netstat -abno | find ":80"

使用端口80的任何进程都没有问题。

然后我运行命令(在cmd中)

C:\xampp\apache\bin\httpd.exe

它在httpd-vhosts.conf文件中的虚拟主机配置中显示了一些错误,该文件最近由我编辑,用于在Eclipse IDE中的WordPress PHP环境中安装。所以我删除了这些行,Apache开始得很好。

步骤1:在Apache进入Config,然后选择Apache(httpd.conf)

在记事本中,找到Listen 80并添加另一个80以将端口更改为Listen 8080

请确保在关闭记事本之前保存。

步骤2:在Apache中选择Apache(httpd-ssl.conf)

在记事本中,找到Listen 443,并在443之后再添加3,将端口更改为Listen 4433

然后搜索“VirtualHost default:443”,再添加3,将端口修改为“VirtualHost default:4433”

请确保在关闭记事本之前保存。

(注:这里有一个类似的答案,但它并不适用于我,直到我喜欢YT的视频)

原因之一可能是您不是以管理员身份运行XAMPP控制面板。

如果更改端口不能解决上述建议的问题,并且如果您可能玩弄了文件目录结构(例如,在安装后更改文件夹的名称,就像我所做的那样),那么您可以尝试这样做,

打开XAMPP控制面板,点击Apache的“配置” 选择Apache (httpd.conf) 在打开的编辑器中,按CTRL+H找到旧文件夹名的所有实例,并用新文件夹名替换它。

例如,在我的例子中,我已经将XAMPP的主安装文件夹名称从Xam更改为XAMPP

在编辑器中修改如下:

Define SRVROOT "G:/Xam/apache"
ServerRoot "G:/Xam/apache"
DocumentRoot "G:/Xam/htdocs"
<Directory "G:/Xam/htdocs">

To

Define SRVROOT "G:/Xampp/apache"
ServerRoot "G:/Xampp/apache"
DocumentRoot "G:/Xampps/htdocs"
<Directory "G:/Xampps/htdocs">

在编辑器中还有许多其他这样的实例,只需找到并替换它们中的每一个。

对Apache (httpd-ssl.conf)也执行同样的操作。

解决方案是卸载xampp并重新安装。这是可行的