XAMPP对于正在寻找localhost解决方案的WordPress开发人员来说是一个有用的平台。但是,当您使用此工具时,可能会出现一些问题。这些错误可能会阻碍您的工作流程,并让您不确定如何让XAMPP再次运行,尤其是因为表面上看起来一切正常。
幸运的是,一旦您确定了XAMPP没有为您启动的原因,通常只需进行一些调整即可修复它。然后,您可以立即开始处理最新的开发项目。
在本文中,我们将为刚接触该平台的人提供XAMPP的简要概述。然后,我们将向您展示如何检查错误日志并解决三个可能导致本地服务器无法启动的常见问题。
XAMPP简介
XAMPP是一个免费的本地开发工具。它本质上用作您计算机上的服务器,您可以使用它来托管网站。
请注意,这些站点不对开放Internet上的用户公开可用。相反,它们旨在用于本地开发和测试目的。如果您愿意,您可以在每个项目完成后将其迁移到实时服务器。
XAMPP是一个方便的解决方案,因为它可以防止访问者在您的项目仍在进行中时找到它。另外,由于该站点托管在您的计算机上,因此它的性能应该是一流的,您可以离线工作。
您可以在任何主要操作系统 (OS) 上使用XAMPP,包括Windows、macOS和Ubuntu Linux。它使用开源的Apache服务器和MySQL,并带有几个内置工具,例如phpMyAdmin和FileZilla。
特别是对于WordPress,XAMPP是顶级localhost解决方案之一, 因为它满足所有内容管理系统 (CMS) 的要求。这些包括:
- PHP 7.4
- MySQL 5.6
- HTTPS支持
- Apache或NGINX服务器
如果您对安装XAMPP感兴趣,可以查看我们关于在本地安装WordPress的教程,其中包括此任务的说明。
如何检查您的XAMPP PHP错误日志
如果您正在使用XAMPP在本地开发WordPress站点,并且您无法启动平台,您的第一步应该是检查您的错误日志。这可能会为您指明问题原因的方向。
如果您知道问题发生的原因,您应该能够比通过反复试验更快地解决问题。根据您的操作系统和版本,使用不同的路径访问日志。幸运的是,有一种简单的方法可以找到您的设置路径。
在Windows上,XAMPP活动日志显示在控制面板对话框的下半部分。您还可以通过单击Apache Config按钮旁边的Logs按钮来访问错误日志 :
XAMPP控制面板包括PHP及其其他组件的日志
在macOS上,单击 控制面板中的“Log”选项卡以查看活动日志:
macOS XAMPP控制面板的日志选项卡
然后,您可以查看日志以查看是否有任何可疑之处,并按照提供的任何指令解决问题。
在某些情况下,访问您的PHP日志也可能是有益的,尽管这通常比Apache或MySQL更有助于解决WordPress错误。
要找到您的PHP错误日志,请通过在浏览器的地址栏中键入http://localhost打开XAMPP仪表板。在那里,单击屏幕顶部的PHPInfo :
XAMPP仪表板中的PHPInfo链接
然后搜索“error_log”。这将显示您需要在地址栏中输入以查看日志的路径:
在PHPInfo中定位error_log路径
您应该能够在http://localhost之后简单地在浏览器中键入此路径以查看PHP日志。
访问XAMPP-VM for Mac PHP日志
对于Mac用户,实际上有两个版本的XAMPP——“XAMPP for macOS”和“ XAMPP-VM ”。后者使您能够使用虚拟机在Mac上运行XAMPP for Linux。
了解您使用的版本很重要,因为它决定了您如何访问我们将在本文中引用的关键文件。例如,如果您在OS X上使用XAMPP,您可以简单地打开Finder,转到Applications > XAMPP,然后查找logs文件夹以找到您的PHP日志。
但是,如果您使用的是XAMPP-VM,您首先需要打开XAMPP控制面板,单击Volumes选项卡,然后选择Mount:
macOS XAMPP-VM控制面板的Volumes选项卡
然后,当您启动Finder时,单击左侧菜单中的IP地址并打开lampp文件夹。在这里您可以找到所有XAMPP文件,包括PHP错误日志。
如果XAMPP不工作,如何修复
如果您的错误日志未提供有关问题原因的信息,您可以尝试这些解决方案以使XAMPP再次运行。这些提示还详细说明了您的错误日志可能显示的一些说明。
1. 解决Apache端口冲突
如果Apache无法启动,您将无法访问您的XAMPP仪表板或您在平台上安装的任何站点。端口冲突可能是根本问题。
默认情况下,Apache通过端口80连接。如果您看到一条错误消息,指出此端口已在使用中,则另一个应用程序正在阻止连接(Skype是一个常见的违规者)。
如果单击XAMPP控制面板中的Netstat按钮,它应该会显示所有当前正在使用的端口,以及哪些应用程序正在使用它们。如果XAMPP Apache没有启动,你可能想检查一下:
使用Netstat检查活动端口
如果您知道哪个程序是问题所在,并且可以通过删除阻碍端口的应用程序来解除对端口的阻塞,这将立即解决问题。但是,您也可以更改XAMPP的Apache侦听端口,以便在保持其他平台不变的情况下进行连接。
首先,您需要找到您的httpd.conf文件。此过程略有不同,具体取决于您的操作系统和您使用的XAMPP版本。
在Windows上更改XAMPP Apache端口
在Windows上,打开XAMPP控制面板并单击Config 按钮:
访问Apache的配置文件
然后选择httpd.conf。在此文件中搜索读取“Listen 80”的行,并将其更改为“Listen 8080”。这将使您能够通过端口8080而不是默认选项连接到Apache。
您还需要查找读取的行ServerName localhost:80
,并将其更改为ServerName localhost:8080
. 保存并关闭文件。
然后尝试再次启动Apache。如果这是您唯一的问题,那么平台应该按预期运行。但是,请注意,如果您有一个通过XAMPP托管的WordPress安装,您需要找到所有提及的“localhost”并将其替换为“localhost:8080”,包括数据库中的那些。
在Mac上更改XAMPP Apache端口
如果您正在为macOS运行XAMPP,您可以通过在Finder中转到Applications > XAMPP来找到您的httpd.conf文件。找到文件后,您可以执行与我们为Windows用户描述的相同的步骤来更改您的端口。
对于使用XAMPP-VM的用户,请向上滚动到我们解释如何访问错误日志的部分,以了解如何查找XAMPP文件。访问lampp目录后,您会在apache2 > conf中找到httpd.conf。
2.访问localhost时地址中包含监听端口
通常,您只需 在浏览器的地址栏中键入http://localhost即可访问XAMPP托管的站点或仪表板。该平台通过其默认侦听端口80自动连接到Apache。
但是,如果您更改了XAMPP安装的侦听端口(或其他有权访问您计算机的人这样做),它将无法连接。如果存在Apache端口冲突,您也可能会看到这种情况,如上所述。
这个问题可能会让人很困惑,因为XAMPP控制面板可能会显示Apache和MySQL都在运行。但是,您将无法访问您的站点或PHPInfo或phpMyAdmin等工具。
此错误可能有几种不同的形式。如果您尝试访问本地WordPress站点,您可能会看到404错误页面。Chrome用户可能会看到ERR_CONNECTION_REFUSED :
Chrome中的ERR_CONNECTION_REFUSED页面
幸运的是,解决方案相当简单。您只需将侦听端口附加到地址即可。例如,如果您使用最常见的替代端口,您将输入http://localhost:8080而不仅仅是http://localhost。
但是,如果您希望 即使更改了Apache侦听端口也能够简单地输入localhost ,您可以这样做。
更改Windows上的默认端口
Windows用户将XAMPP Apache默认端口更改为他们的新侦听端口,这样您就不必在地址栏中指定它。为此,请单击XAMPP控制面板中的Config > Service and Port Settings > Apache:
为Apache设置新端口
然后将Main Port值替换为您配置的新Apache端口并保存更改。
在macOS上设置端口转发
在macOS上,这个过程完全不同。在您的控制面板中,单击Network选项卡。在这里可以设置端口转发规则:
访问macOS上的XAMPP网络选项
您需要添加一条新规则,将流量重定向到默认端口到新的Apache侦听端口。如果单击Add,您将能够在相关字段中输入这些值:
在macOS上为XAMPP添加新的端口转发规则
从列表中选择规则并单击Add按钮开始使用它。
3. 改变你的MySQL端口
最后,有时由于MySQL而不是Apache的问题,XAMPP无法正常工作。但是,问题仍然经常是端口冲突,这意味着现在您应该对如何修复它有一个很好的想法。
在这种情况下,您需要访问php.ini文件而不是配置文件。导航到您的XAMPP仪表板并单击本文前面所述的PHPInfo将使您能够找到此文件的安装路径:
在PHPInfo中找到php.ini路径
或者,如果您使用XAMPP for Windows,您可以通过单击Config > PHP (php.ini)从控制面板访问此文件:
找到并打开php.ini后,查找已读取的行port = 3306
,并将它们更改为已读取port = 3307
。保存并关闭文件,然后重新启动MySQL。
小结
XAMPP是一个有用的工具,可以在您的角落使用,但对阻止您访问本地WordPress站点的某些错误进行故障排除可能会令人沮丧。幸运的是,这些通常是端口冲突,您可以快速实施解决方法。
在本文中,我们向您展示了如果XAMPP由于Apache或MySQL的问题而无法工作时该怎么做:
- 通过将监听端口更改为8080来解决Apache端口冲突。
- 访问localhost时在地址中包含监听端口。
- 如果另一个应用程序阻塞了默认端口3306,请将您的MySQL端口更改为3307。