
为了在你的在线社区或博客中建立信任,你需要设计开发一套体验良好的Laravel实时评论系统。
然而,要想在第一次尝试时就做到这一点并不容易,除非你依赖于诸如Discus或Commento这样的自托管评论系统,因为它们都有自己的缺点。他们拥有你的数据,提供有限的设计和定制,最重要的是,他们不是免费的。
有了这些限制,如果构建实时评论系统的想法吸引了你,那就继续阅读吧。该系统可以控制你的数据,设计和定制适合你博客的外观和感觉。
本文将教您如何开发一个设计良好的实时评论系统,该系统具有不同的评论功能。遵循使用Vue.js和Socket.io构建实时聊天应用程序的原则,我们将使用Laravel、Pusher和React来开发实时评论系统。
我们将开发什么
我们将建立一个实时评论系统,可以集成到任何网站或博客中,以建立社区信任。
开发所需的技术
在深入开发之前,让我们先讨论一下开发实时评论系统所使用的技术。
Laravel
Laravel是一个开源的面向MVC的PHP框架。它用于构建简单到复杂的PHP web应用程序,以其优雅的语法而闻名。学习什么是拉拉维尔是必不可少的建设这个评论系统。
Pusher
Pusher使开发人员能够按比例创建实时功能。本文将结合Laravel Echo创建到Pusher服务器的实时广播事件,并使用Vue.js在前端显示内容。
Vue.js
Vue.js是我们选择的前端框架。Vue.js是一个渐进式JavaScript前端框架,以其易于学习和直接的前端开发方法而闻名。我们将使用Vue.js开发实时评论系统。
开发评论系统实例
如果我们上面概述的评论系统听起来像您想要的,那么让我们继续构建它。
1. 安装和设置Laravel, Pusher和Echo
Laravel、Echo和Pusher的安装和设置非常简单,因为Laravel通过设置和配置Laravel Echo以完美配合Pusher完成了所有后台任务。
首先,我们将从安装和配置我们的后端PHP框架Laravel开始。如果您已全局安装了Laravel CLI,则可以使用此命令获取Laravel的新实例:
laravel new commenter
新的Laravel实例将安装在名为commenter的文件夹中。让我们在VSCode中打开文件夹,并在终端中导航到它:
code .
cd commenter code .
在启动开发服务器之前,让我们安装并配置一些必要的包,这些包将用于项目。
运行此命令以安装Pusher PHP SDK:
composer require pusher/pusher-php-server
运行此命令为Vue.js前端安装必要的NPM软件包:
npm install --save laravel-echo pusher-js
接下来,我们将配置Laravel Echo和Pusher。打开resources/js/bootstrap.js文件并粘贴到以下脚本中:
window.axios = require(“axios”);
window.moment = require(“moment”);
window.axios.defaults.headers.common[“X-Requested-With”] = “XMLHttpRequest”;
window.axios.defaults.headers.post[“Content-Type”] =
“application/x-www-form-urlencoded”;
window.axios.defaults.headers.common.crossDomain = true;
window.axios.defaults.baseURL = “/api”;
let token = document.head.querySelector(‘meta[name=”csrf-token”]’);
if (token) {
window.axios.defaults.headers.common[“X-CSRF-TOKEN”] = token.content;
} else {
console.error(“CSRF token not found”);
}
/**
* Echo exposes an expressive API for subscribing to channels and listening
* for events that Laravel broadcasts. Echo and event broadcasting
* allows your team to build robust real-time web applications quickly.
*/
import Echo from “laravel-echo”;
window.Pusher = require(“pusher-js”);
window.Echo = new Echo({
broadcaster: “pusher”,
key: process.env.MIX_PUSHER_APP_KEY,
cluster: process.env.MIX_PUSHER_APP_CLUSTER,
forceTLS: true
});
window._ = require("lodash");
window.axios = require("axios");
window.moment = require("moment");
window.axios.defaults.headers.common["X-Requested-With"] = "XMLHttpRequest";
window.axios.defaults.headers.post["Content-Type"] =
"application/x-www-form-urlencoded";
window.axios.defaults.headers.common.crossDomain = true;
window.axios.defaults.baseURL = "/api";
let token = document.head.querySelector('meta[name="csrf-token"]');
if (token) {
window.axios.defaults.headers.common["X-CSRF-TOKEN"] = token.content;
} else {
console.error("CSRF token not found");
}
/**
* Echo exposes an expressive API for subscribing to channels and listening
* for events that Laravel broadcasts. Echo and event broadcasting
* allows your team to build robust real-time web applications quickly.
*/
import Echo from "laravel-echo";
window.Pusher = require("pusher-js");
window.Echo = new Echo({
broadcaster: "pusher",
key: process.env.MIX_PUSHER_APP_KEY,
cluster: process.env.MIX_PUSHER_APP_CLUSTER,
forceTLS: true
});
您会从上面的脚本中注意到,我们只是使用默认配置配置Axios实例。接下来,我们将配置Laravel Echo以使用Pusher及其配置。
2. 数据库设置和迁移
接下来,我们将创建并设置数据库来存储评论以保持持久性。我们将使用 SQLite,但您可以使用您选择的任何数据库客户端。
在数据库文件夹内创建一个数据库.sqlite文件,并更新您的.env文件如下:
接下来,我们将创建并设置数据库,以存储持久性注释。我们将使用SQLite,不过您可以选择使用任何数据库客户机。
在数据库文件夹中创建一个database.sqlite文件,并按如下方式更新.env文件:
DB_DATABASE=/Users/all/paths/to/project/commenter_be/database/database.sqlite
DB_HOST=127.0.0.1
DB_PORT=3306
DB_USERNAME=root
DB_PASSWORD=
DB_CONNECTION=sqlite DB_DATABASE=/Users/all/paths/to/project/commenter_be/database/database.sqlite DB_HOST=127.0.0.1 DB_PORT=3306 DB_USERNAME=root DB_PASSWORD=
接下来,运行此命令创建注释迁移,并使用以下脚本进行更新:
php artisan make:migration create_comments_table
打开database/migrations/xxxx_create_comments_table_xxxx.php文件并粘贴以下代码:
use IlluminateDatabaseMigrationsMigration;
use IlluminateDatabaseSchemaBlueprint;
use IlluminateSupportFacadesSchema;
class CreateCommentsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create(‘comments’, function (Blueprint $table) {
$table->id();
$table->string(‘content’);
$table->string(‘author’);
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists(‘comments’);
}
}
<?php
use IlluminateDatabaseMigrationsMigration;
use IlluminateDatabaseSchemaBlueprint;
use IlluminateSupportFacadesSchema;
class CreateCommentsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('comments', function (Blueprint $table) {
$table->id();
$table->string('content');
$table->string('author');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('comments');
}
}
这将创建一个新的comments数据库表,并添加content和author列。
最后,要创建迁移,请运行以下命令:
php artisan migrate
3. 创建模型
在Laravel中,模型非常重要——它们是与数据库通信和处理数据管理的最可靠的方式。
要在Laravel中创建模型,我们将运行以下命令:
php artisan make:model Comment
接下来,打开app/models/Comment.php文件并粘贴以下代码:
站长必备技能:浏览器缓存数据怎么清理?

如果您偶然发现WordPress中的错误,您可能会被要求清除浏览器缓存以修复它。这通常是一项简单的任务,但由于该过程因平台而异,您的故障排除指南可能不会提供完成它所需的具体步骤。
在这篇文章中,我们将解释您的浏览器缓存是什么以及您可能需要清除它的原因。然后,我们将提供在三种最流行的 Internet 浏览器中执行此过程的综合步骤:Google Chrome、Safari和Mozilla Firefox。
浏览器缓存简介
我们在过去的几篇文章中讨论了浏览器缓存的基础知识。该过程涉及浏览器存储网页副本,以便他们可以在后续访问时轻松更快地加载内容。
我们通常谈论浏览器缓存,以使其能够加速您自己的网站。但是,其他站点也使用这种技术,因此您自己的浏览器也存储了各种网页的副本。
您可以手动配置浏览器缓存,但对于WordPress用户来说,使用插件来实现它更为常见。无论如何,在几种情况下您需要清除缓存并重新加载网页的新副本。
为什么需要清除浏览器缓存
正如我们已经说过的,浏览器缓存对于加快页面加载时间很有用。这对您作为网站所有者以及想要快速访问 Internet 上的关键信息的用户都有帮助。
但是,您还希望信息是最新的和准确的。如果您的浏览器加载的是页面的旧副本而不是最新版本,则您可能正在查看不再相关的内容。
这通常不是问题,因为浏览器的构建是为了检测更改并在更新时重新加载之前存储的页面。但是,如果您的浏览器没有注意到您尝试访问的内容已被修改,就会出现问题。
可能出现这种情况的一些具体情况包括:
清除浏览器缓存还有助于解决一些常见错误,包括:
- 401回复
- 502 bad gateway错误
- 插件冲突
简而言之,如果您在使用WordPress网站时遇到任何问题,在做其他任何事情之前尝试清除浏览器缓存永远不会有什么坏处。它不会导致任何进一步的问题,并且通常是您可以自行处理的非常快速的解决方案。
如何清除不同浏览器的缓存
每当您访问某个网站时,您的 Web 浏览器都会将来自该网站的某些信息保存在您计算机硬盘上的“浏览器缓存”中。大多数情况下,这是一件好事,因为它无需在浏览网页时一遍又一遍地下载相同的静态资源,从而有助于加快您的 Web 浏览体验。
例如,网站的标志不太可能改变——因此将这个标志本地存储在浏览器缓存中而不是每次访问新页面时让浏览器下载标志是有意义的。但有时这种缓存实际上会导致您的浏览体验出现问题。那时您需要清除浏览器缓存。
在本条目中,我们将首先向您简要介绍您可能需要清除浏览器缓存的时间。然后,我们将向您展示如何清除大多数主要浏览器的浏览器缓存。如果你想快速跳到“如何”,你可以点击下面的链接之一,否则,我们将从头开始。
- 如何强制刷新所有浏览器的单个页面
- 如何清除Chrome浏览器缓存
- 如何清除Firefox浏览器的缓存
- 如何清除Safari浏览器缓存
- 如何清除Internet Explorer浏览器缓存
- 如何清除Microsoft Edge浏览器缓存
- 如何清除Opera浏览器缓存
如何强制刷新单个页面
在您直接清除整个浏览器缓存之前,您可以尝试一种称为“强制刷新”的技巧。通常,当您刷新页面时,您的浏览器仍会提供页面的缓存版本,而不是再次下载所有资产。但是您实际上可以通过使用一些简单的热键绕过缓存并强制完全刷新:
- Windows和Linux浏览器:CTRL + F5
- Apple Safari:SHIFT +Reload工具栏按钮
- Mac版Chrome和Firefox:CMD + SHIFT + R
同样,此方法仅绕过您所在特定页面的缓存。它使浏览器缓存的其余部分保持不变。因此,如果您只遇到一个页面的问题,则此选项非常有用。但是,如果您想完全重置您的体验(例如,跨整个站点),最好只清除整个浏览器缓存。
如何清除Chrome浏览器缓存
谷歌浏览器是迄今为止最受欢迎的网络浏览器。统计数据显示,它占全球互联网使用量的一半以上。幸运的是,它的设置非常易于导航,可以快速简单地清除缓存。
Step 1:打开Chrome浏览器设置
首先,单击浏览器窗口右上角的三点图标:

然后,选择设置:

这将在新选项卡中打开您的浏览器设置。
Step 2:进入隐私设置和安全性
进入浏览器设置后,点击隐私设置和安全性,或向下滚动直到到达以下部分:

接下来,选择清除浏览数据:

这将打开一个小的弹出窗口。
Step 3:清除缓存的图片和文件
在清除浏览数据窗口中,您可以选择要从Chrome中删除的多种数据类型。您可以指定任意数量并一次性删除它们,但为了清除浏览器缓存,请确保选择缓存的图片和文件:

最后,点击清除数据。
如何清除Firefox浏览器缓存
Firefox占浏览器市场份额不到 5%。但是,一些较旧的应用程序可能在这个更成熟的平台上运行得更好。它还为开发人员提供了一些方便的工具。这是清除其缓存的方法。
Step 1:进入Firefox设置
要在Firefox中打开浏览器设置,请单击右上角的汉堡图标,然后选择设置:

这将打开常规设置页面。
Step 2:查看您的隐私和安全设置
与Chrome一样,您需要从左侧菜单导航到浏览器设置的隐私与安全部分,以访问缓存选项:

请注意,您无法像在Chrome中那样通过滚动来访问这些选项。
Step 3:清除您的数据
接下来,向下滚动,直到找到Cookie和站点数据部分:

单击 清除数据…按钮:

Firefox仅提供两种类型的站点数据,您可以在此处删除。确保选中已缓存网络数据,然后单击清除按钮:

然后Firefox会要求您再确认您的选择,此时您需要点击立即清除。
如何清除Safari浏览器缓存
Safari排在Chrome之后,成为下一个最受欢迎的浏览器,部分原因可能是它是Apple产品的默认平台。由于它在智能手机上如此受欢迎,我们也包含了在Safari移动版中清除浏览器缓存的相应步骤。
Step 1:访问Safari设置
首先,您需要访问您的设置。在台式机或笔记本电脑上,只需打开浏览器并在计算机工具栏中选择Safari :

在您的移动设备上,打开“设置”应用:

接下来,向下滚动直到看到Safari:

点击它以打开其设置。
Step 2:清除所有历史记录和网站数据
与Chrome不同的是,Safari不提供选择和选择要删除的浏览器数据的选项。因此,每当您清除浏览器缓存时,您也将删除您的历史记录、cookie和其他数据。
对于您的桌面浏览器,选择清除历史记录…

从结果下拉列表中选择所有历史记录,然后单击清除历史记录按钮:

在您的移动设备上,向下滚动到清除历史记录和网站数据选项并点击它:

弹出窗口将要求您确认是否要继续:

点击清除历史记录和数据以完成清除缓存。
如何清除Internet Explorer浏览器缓存
要清除Internet Explorer的浏览器缓存,请单击右上角的齿轮图标以访问“工具”菜单。然后,找到安全并从子菜单中选择删除浏览器历史…:

Internet Explorer删除浏览历史记录
您还可以使用快捷方式访问菜单:CTRL + SHIFT + DEL。 Internet Explorer将打开一个弹出窗口。确保只选中Internet临时文件和网站文件框以避免清除重要信息。然后,单击底部的删除按钮:

清除Internet Explorer浏览器缓存
如何清除Microsoft Edge浏览器缓存
若要清除Microsoft Edge的浏览器缓存,请单击 浏览器窗口右上角的更多图标(三个小点)。

Microsoft Edge设置
向下滚动并单击选择要清除的内容。

选择要在Microsoft Edge中清除的内容
确保只选择缓存数据和文件框以避免清除重要信息。您还可以使用快捷方式访问菜单: CTRL + SHIFT + DEL。 然后,单击底部的清除按钮。

清除Microsoft Edge浏览器缓存
如何清除Opera浏览器缓存
要清除Opera的浏览器缓存,请单击左上角的Opera图标,找到更多工具选项,然后从子菜单中选择清除浏览数据:

Opera清除浏览数据
在大多数情况下,您应该将时间周期设置为:过去4周。然后,确保只选中缓存的图像和文件框,然后单击清除浏览数据按钮:

清除Opera中的浏览器缓存
小结
知道如何清除浏览器缓存意味着您可以快速修复在使用 WordPress 或只是浏览网页时可能遇到的许多错误。幸运的是,无论您喜欢哪种浏览器,这个过程都非常简单。
在这篇博文中,我们提供了在Google Chrome、Safari和Mozilla Firefox等浏览器清除缓存的完整演练。对于每个浏览器,您都需要访问您的设置,找到清除浏览数据的选项,并确保包含您的缓存。
如何检查和升级您的服务器MySQL版本

您的数据库很可能运行在MySQL或其完全开源的分支MariaDB上。这些流行的数据库管理软件支持90%的网站,因此您的服务器主机可能已经为您安装了其中任何一个。
但并非所有主机都会继续保持最新状态,因此您通常需要检查 MySQL 版本并保持升级。服务器上过时的软件永远不会好,也可能是有害的。
让我们学习如何检查您的MySQL版本是否是最新的,如果不是,则升级它。
为什么要让MySQL保持最新?
手动服务器维护不是一项有趣的任务,尤其是当您不太熟悉网络服务器的内部工作原理时。只要您的服务器和数据库运行良好,您可能很容易忽略过时的软件。但是,这是一个坏主意的原因有很多。
在您的服务器上安装过时的软件从来都不是一件好事。即使您的安全中最微小的漏洞也可能成为攻击者潜入并接管的载体。
他们甚至可能会弄乱您的数据库。各种重要信息都存储在那里,例如您的WordPress文章和所有其他类型的敏感信息。您不希望任何不需要的人能够修改它。
除此之外,新版本意味着对现有内容的新功能和一般改进。即使这些额外的特性不会影响你,更新的MySQL版本也更安全、优化得更好、速度更快。

MySQL 8.0中的新功能。
并且随着MySQL的每次更新,都会带来一系列错误修复,修补错误,这些错误充其量只是一种烦恼,或者最坏的情况下会给您带来严重的麻烦。
当涉及到您网站上的任何软件时,最好将其保持在最新版本。
哪个版本的MySQL最好?
如今,许多服务器仍在运行MySQL 5.7(跳转到8.0之前的最新版本),即使存在更新更好的版本。为什么是这样? MySQL 5.7还是8.0哪个最好?
大多数人不升级是因为他们不知道最新的MySQL版本,或者他们不想花时间更新它。此外,5.7还没有被弃用,直到2023年才会被弃用。
macOS v10.14停止更新支持
但是,虽然MySQL 5.7仍受支持,但切换到最新版本绝对值得您花时间。它更快、更安全 – 激活后可以立即观察到变化。而对于能够使用新功能的开发者来说,好处多得无法一一列举。
您需要了解一些升级注意事项和向后不兼容性,但对于大多数站点,它们不会引起问题。
跟上MySQL的最新稳定版本几乎总是最好的。尽管新的内置自动更新程序可能会为您处理这些问题,但即使是次要更新也值得一试。至于重大更新,除非您的服务器的关键部分不兼容,否则这是值得的。
虽然WordPress支持MySQL版本一直回到5.6,但8.0与它完美配合。由于5.6不再受支持并且容易受到错误和安全风险的影响,您至少应该更新到5.7。
如何检查MySQL版本
使MySQL保持最新状态至关重要,但您需要在升级前了解其版本。很有可能,您已经在使用最新版本并且根本不需要做任何事情。有几种检查方法;这些只是少数最简单的。
使用命令行
获取MySQL版本的最简单方法是使用通过命令行提交的简单代码。只需几秒钟,即可立即回答您的问题。除非您使用最少的主机,否则访问服务器的命令行应该不会太困难。
有多种方法可以访问服务器的命令行。例如,您的Web主机可能会提供一种通过其后端提交命令的方法,例如使用cPanel 。或者您可以使用内置终端或命令提示符连接到您的服务器。 PuTTY之类的工具也可以帮助您登录,并且通常需要Windows用户使用SSH进行连接。
无论哪种方式,您都需要一些SSH登录凭据。您通常可以在您的网络托管仪表板中找到它们,或者您可以通过电子邮件发送它们并寻求帮助。
一旦您知道将如何连接到服务器的命令行,请按照以下步骤操作。
步骤 1:在您的计算机上启动终端(Linux、macOS)或命令提示符/PuTTY (Windows)。在cPanel中,您可以在Advanced > Terminal下找到它。

cPanel终端窗口
步骤 2:提供您的SSH凭据以连接并登录到服务器。
步骤 3:输入以下命令:
mysql -V
如果您安装了MySQL Shell ,您还可以使用简单的命令“mysql”来显示您的版本信息。无论哪种方式,版本号都应该在屏幕上输出。
使用phpMyAdmin检查MySQL版本
还有另一种直接的方法来检查您的MySQL版本,那就是phpMyAdmin 。该软件也无处不在,并且存在于大多数服务器上,因此您可以很好地找到您的MySQL版本。
通过检查您的网络托管仪表板来查找您的phpMyAdmin凭据。甚至可能有一个直接登录的链接。如果找不到,请给您的房东发电子邮件。
找到您的凭据后,登录到phpMyAdmin。一进入,您就会在屏幕右侧看到一个数据库服务器框。在软件版本部分下,是您的MySQL版本。就这么简单!

在phpMyAdmin中查看MySQL版本
通过WordPress仪表盘
查找MySQL版本的最后一种简单方法是通过您站点的WordPress管理仪表盘。
为此,请访问您的WordPress仪表盘,然后转到“工具”>“站点健康” 。在此处,首先转到“信息”选项卡,然后转到下面的“数据库”部分。
您可以在此处列出的服务器的当前MySQL版本旁边找到服务器版本标签。

在WordPress仪表盘中查找MySQL版本。
如何升级MySQL版本
如果您确定您的MySQL已过时,您应该尽快纠正它。有多种方法可以将MySQL更新到最新版本;这完全取决于您使用的工具和操作系统。
值得注意的是,如果脚本注意到您的安装已过期,更高版本的MySQL将尝试自动更新。您可能根本不需要做任何事情。如果您确定MySQL已过时并且需要手动更新,请按照以下步骤操作。
就像使用命令行检查MySQL版本一样,您需要从Web主机获取SSH登录凭据才能访问服务器上的终端。当然,您还需要服务器的 IP 地址。
注:在更新MySQL之前,请确保备份您的数据库。
此备份包含您的数据库(一个SQL文件)和您的整个站点,因此如果出现问题,您将更加安全。
使用cPanel升级MySQL
如果您的主机提供cPanel,这可能是最简单的升级方式,因为您可以使用提供的界面。但由于cPanel默认为MySQL 5.7,您可能需要升级。
由于cPanel不允许您降级,您应该在继续之前备份您的数据库。
大多数cPanel安装都带有Web主机管理器WHM,它为您提供更深入的根访问权限。
第 1 步:通过访问“example-site.com:2087”或“example-site.com/whm”登录WHM。您还可以询问您的网络主机如何访问WHM。
第 2 步:导航至Software > MySQL Upgrade或在搜索栏中键入“MySQL”。您也可以在SQL Services > MySQL/MariaDB Upgrade下找到它。
第 3 步:选择您要升级到的MySQL版本,然后单击Next。现在按照升级步骤操作,它会为您处理一切。

Web服务管理面板cPanel-MySQL数据库更新
此方法是迄今为止进行MySQL升级的最简单方法,但如果您的主机不提供cPanel或WHM,您可能需要手动进行。
在Linux/Ubuntu中升级MySQL
有多种Linux发行版,但Ubuntu是迄今为止最常见的。这些说明适用于任何使用apt/apt-get功能安装软件的操作系统。

MySQL APT存储库
Linux可以轻松进行SSH连接,无需任何额外的软件要求。因此,您可以直接进入您的服务器。
第 1 步:启动终端。获取您的SSH凭据并使用SSH命令登录。
第 2 步:您应该安装MySQL apt存储库,因为 MySQL 已经在您的服务器上。使用以下命令更新您的软件包列表:
sudo apt-get update
第 3 步:现在升级MySQL。
sudo apt-get upgrade mysql-server
如果上述方法不起作用,您也可以尝试此命令:
sudo apt-get install mysql-server
它会提示你选择一个版本;选择5.7或8.0。如果您是从5.6升级,您应该先升级到5.7,而不是直接升级到8.0。
在macOS上升级MySQL
虽然macOS带有自己的MySQL版本,但您无法通过通常的方法对其进行升级。最有可能的是,您的服务器正在使用单独的实例。
其中许多步骤与在Linux上更新MySQL非常相似。 macOS同样在操作系统中内置了SSH,因此您需要做的就是运行命令。
我们假设您使用Homebrew作为包管理器,因为它是在Mac上安装和更新MySQL的最简单方法。如果您最初没有使用Homebrew安装MySQL,则不应尝试使用它来升级MySQL。

在Mac上使用Homebrew安装MySQL
第 1 步:启动终端程序并使用SSH命令登录。
第 2 步:使用Homebrew运行这些命令。
brew install mysql
brew update brew install mysql
此命令应自动安装8.0并升级任何现有版本。
你遇到麻烦了吗?首先尝试卸载当前版本的MySQL。使用这些命令:
brew cleanup
brew remove mysql brew cleanup
然后您可以再次尝试运行更新和安装命令。
第 3 步:确保您再次手动启动MySQL服务器:
mysql.server start
在Windows中升级MySQL
与Mac和Linux不同,Windows默认不能使用SSH。相反,您需要安装一个单独的客户端,然后才能连接到您的服务器。
第 1 步:下载PuTTY并将其安装到您的系统上。启动它并输入您的SSH凭据以连接到服务器。 3306是默认端口号。忽略任何安全警报;这些都是正常的。
第 2 步:假设您连接到Linux终端,您可以使用上面Linux/Ubuntu部分中的命令来执行升级。
您还可以使用MySQL安装程序直接将MySQL下载到系统上。此过程完全跳过SSH连接。
小结
对于任何软件,保持最新状态至关重要。由于MySQL是您网站及其数据库不可或缺的一部分,因此它变得更加必要。不幸的是,太多的网络管理员选择让他们的MySQL版本落后,从而损害他们网站的速度和安全性。
幸运的是,检查您的MySQL版本并升级它几乎总是一个顺利的过程。虽然您绝对应该备份您的网站和数据库以备不时之需,但您不太可能遇到任何问题。
只需在您的Web服务器终端中执行一个小命令,您的数据库就会得到很好的优化并且比以往任何时候都更快。
如何在Windows、macOS和Linux上安装Node.js和npm

Node.js为全世界的JavaScript开发人员带来了福音,他们努力在多种语言和框架之间进行交换,以将他们的代码放大到可持续的开发环境中。
使用Node.js,您最终可以构建具有双向连接的Web应用程序,其中服务器端和客户端可以彻底实时通信和交换数据。事实上,Node.js对于想要通过WebSocket推送实时Web应用程序的开发人员来说是革命性的。
如果您的目标是将您的Web开发技能提高到一个新的水平,并成为一名全栈JavaScript开发人员,那么Node.js确实为这个热情的流行语做好了准备!
在本文中,我们将演示如何在Windows、Mac和Linux计算机上安装Node.js并开始您的Web开发之旅的分步指南。
- 什么是Node.js?
- 谁在使用Node.js?
- 使用Node.js的优势
- Node.js先决条件
- 如何安装Node.js和npm
- 如何在Windows上安装Node.js
- 如何在macOS上安装Node.js
- 如何在Linux上安装Node.js
- 检查并更新npm版本
什么是Node.js?

Node.js Logo (图片来源: Node.js )
你应该知道的第一件事是 Node.js不是一种编程语言!
您可能已经意识到这一事实,但对于该领域的新开发人员来说,可能会将 Node.js 误认为是一种独特的编程语言。它不是!
Node.js是JavaScript语言的开源运行时环境,它重塑了JavaScript的特性并升级了其功能。因此,您可以使用JavaScript进行前端和后端开发,从而实现仅使用JavaScript的全栈开发。
最初,Node.js旨在提供实时性能、后推架构。但从那时起,Node.js已成长为事件驱动、非阻塞服务器的服务器端编程的重要元素。今天大多数传统网站和API服务都依赖于Node.js。
在Node.js之前,如果你想在数据库上存储任何数据或将你的程序连接到数据库,你需要来自服务器端语言的支持。那是因为JavaScript无法规范后端进程。因此,您必须学习诸如PHP、Python、Ruby或C#之类的服务器端语言,或者寻求后端开发人员的帮助。
Node.js环境使JavaScript能够直接使用数据库并作为后端语言正常运行。因此,您最终可以仅使用JavaScript和Node.js来构建和运行程序。
Node.js使用V8 JavaScript运行时引擎作为其根源,并采用事件驱动的非阻塞I/O架构。所有这些共同构建了Node.js并帮助推动产品实现强大的性能。
谁在使用Node.js?
据W3Techs称,迄今为止,所有网站中有1.4%使用Node.js——即超过2200万个网站。这些数字让您大致了解Node.js用户的数量。最重要的是,Node.js已被下载超过13亿次!如您所见,这些统计数据有力地说明了Node.js的市场规模。
从您的IT朋友到行业大亨,所有人都在享受使用Node.js。那是因为Node.js放大了开发人员的性能并提高了开发过程的速度。当今最聪明的趋势之一是到处使用JavaScript,这将Node.js带入了舞台。
使用Node.js的顶级公司包括:
- 美国宇航局
- 推特
- 网飞
- 领英
- 贝宝
- Trello
- 易趣
- 沃尔玛
- Mozilla
- Medium
如果您研究这些公司,您可能会注意到他们在不同的服务或产品上开展业务。但它们都有一个共同的关键因素:它们都依赖于Node.js。确实,使用Node.js可以解决您的大部分开发问题,无论您在哪个行业。
使用Node.js的优势
为您的技术堆栈选择合适的编程平台与您想要投资的劳动力一样重要。当您寻找使用特定平台的优势时,应考虑多种因素。学习曲线、开发速度、社区和规模等因素可以改变整体利益平衡。
以下是使用Node.js的主要优势:
- 简单的语法
- 简单的学习曲线
- 快速扩展的能力
- 开源且灵活
- 跨平台开发
- 单语言全栈开发
- 实时通讯
- 庞大而活跃的社区
Node.js先决条件
在安装Node.js之前,您需要确保已经收集了所有必要的知识并下载了所有必需的安装文件和元素。
首先,如果您对JavaScript及其语法有基本的了解会有所帮助——这将使您更容易上手Node.js。
其次,对面向对象编程 (OOP) 语言的基本了解将有助于您进行服务器端编码。
最后,与其急于进入深度学习,不如一步一步来。永远记住,只要你在进步,你就不会迟到一天或一美元。
系统要求
Node.js不需要花哨的硬件设置来运行;这个时代的大多数计算机都应该有效地处理Node.js。即使是像BeagleBone或Arduino YÚN这样最微型的计算机也可以运行Node.js。
尽管如此,很大程度上仍然取决于您在同一系统上运行的其他内存占用软件。但在大多数情况下,除非您的计算机来自中生代,否则您不必担心!
LTS版本与当前版本
Node.js提供了两个不同的版本供您下载:LTS版本和当前版本。
第一个是长期支持 (LTS),它表示已经上市一段时间并带有所有强制支持的版本。因此,您可以访问大量信息和社区以获得有关此版本的其他帮助。
由于其可持续性和长达18个月的支持周期,因此向大多数用户推荐此LTS版本。由于它是一个稳定版本,因此使用它来生成后端可以帮助您获得稳健的结果。
当前版本表示具有最近添加和更新功能的最新发布的Node版本。但是这个版本背后的支持较少(大约八个月)和可能的错误暴露。因此,专家建议仅将此版本用于前端开发。
考虑到所有这些因素,如果您是喜欢无忧无虑的普通用户,请选择LTS版本。另一方面,如果您是喜欢体验新技术冒险的高级用户,则可以选择安装当前版本。
如何安装Node.js和npm
每个操作系统都有不同的安装Node.js的方法。每个操作系统的核心设置文件都不同。但是,Node.js创建者已经小心地为您提供了每个系统所需的文件。
在文章的下一部分中,我们将讨论在Windows、macOS和Linux操作系统上安装Node.js。
如何在Windows上安装Node.js
按照此分步指南在Windows上安装Node.js。
1. 下载Windows安装程序
首先,您需要从Node.js官方网站下载Windows Installer (.msi)文件。此MSI安装程序数据库包含安装、更新或修改现有Node.js版本必不可少的安装程序文件集合。
值得注意的是,安装程序中还包含Node.js包管理器 (npm)。这意味着您不需要单独安装npm。
下载时,请根据您的操作系统选择正确的版本。例如,如果您使用的是64位操作系统,请下载64位版本,如果您使用的是32位版本,请下载32位版本:

下载Node.js安装程序
2. 开始安装过程
打开并运行.msi文件后,安装过程就开始了。但是您必须在运行安装过程之前设置一些参数。
双击安装程序文件并运行它。安装程序会要求您接受Node.js许可协议。要继续,请选中“我接受”框并单击“Next”:

接受Node.js许可协议
然后,选择要安装Node.js的目的地。如果您不想更改目录,请使用Windows默认位置并再次单击“Next”按钮。

选择Node.js安装文件夹
下一个屏幕将显示自定义设置选项。如果您想要使用Node.js默认功能的标准安装,请单击Next按钮。否则,您可以在单击Next之前从树中的图标中选择您的特定元素:

Node.js安装程序中的“自定义设置”选项
Node.js为您提供了为原生模块安装工具的选项。如果您对这些感兴趣,请单击复选框以标记您的首选项,或单击下一步继续使用默认值:

Node.js安装程序中用于本机模块的工具
3. 在Windows上运行Node.js安装
最后——这是最简单的部分——点击Install按钮开始安装过程:

开始安装Node.js
系统将在几秒钟或几分钟内完成安装并显示成功消息。单击Finish按钮关闭Node.js安装程序。

在Windows上完成Node.js安装
4. 验证Node.js安装
这样安装过程就完成了。现在,您必须检查Node.js是否已成功安装。要验证安装并确认是否安装了正确的版本,请打开PC的命令提示符并输入以下命令:
Node --version
要检查npm版本,请运行以下命令:
npm --version

验证Windows上的Node.js安装
如果正确安装了Node.js版本和npm,您将在CMD提示中看到版本名称。
如何在macOS上安装 Node.js
按照这些分步指南在macOS上安装Node.js。
1. 下载macOS安装程序
在macOS上安装Node.js的过程与Windows几乎相同。您所要做的就是下载Mac的安装文件。然后,一旦您启动它,安装程序就会引导您完成其余的工作。
首先,从Node.js网站下载macOS安装程序 (.pkg)文件。只有64位版本,因此您不必担心要下载哪个版本。

下载Node.js的macOS安装程序
2. 开始在macOS上安装Node.js
检查您的下载文件夹中的安装程序文件,然后单击它以开始安装过程。
Node.js安装程序携带Node.js核心文件,因此,安装过程从安装程序文件安装Node.js和npm。因此,您无需单独安装npm。
然后,单击Continue以继续安装。

Node.js的macOS安装属性
您必须同意使用条款才能安装Node.js。如果您想浏览许可协议,请在单击“Agree”按钮以继续之前通读它。

Node.js的macOS安装许可协议
在此屏幕上,您需要选择安装位置。通常,操作系统会确定默认安装位置。如果您有其他要求,可以更改位置。否则,保留默认位置。
3. 在macOS上运行Node.js安装
到目前为止,您已经设置了在macOS上完全安装Node.js所需的所有首选项。现在单击“Install”按钮以完成操作。

在macOS上选择Node.js安装位置
安装过程成功后,系统将向您显示确认消息。由于npm集成在Node.js安装程序中,因此通知也应指明npm安装的证明。最后,单击Close按钮关闭对话框。

关闭Node.js安装程序
4. 在macOS上验证Node.js安装
您现在已经在macOS上成功安装了Node.js。但是,您应该检查以确认安装过程是否成功以及Node.js和npm版本是否在您的macOS上正常运行。
要检查Node.js版本,您需要打开macOS终端,单击Command + Space键,或从搜索栏中搜索终端。

打开macOS终端
要检查Node.js版本,请键入:
Node --version
要检查npm版本,请运行以下命令:
npm --version

在macOS上验证Node.js安装
如果Node.js和npm版本可见,则它们都已正确安装并且运行良好。如果没有,您可能需要重新检查以找到错误或再次尝试安装过程。
如何在Linux上安装Node.js
Linux操作系统的工作方式与其他传统操作系统略有不同。那是因为Linux是开源的,为您提供更多的自由、自定义和高级功能。
如果您对命令很随意,那么您应该对Linux感到很舒服。在这里,我们将讨论在Linux操作系统上安装Node.js的最简单方法。
1. 为您的Linux发行版选择Node.js版本
由于其提供的多样性,Linux操作系统有数百种不同的发行版。用户喜欢使用不同的发行版来定制和利用不同版本的特定功能。
首先,从Node.js的Binary Distributions页面找到您的特定发行版的安装说明。在本指南中,我们将使用Ubuntu进行说明。

Node.js Ubuntu安装说明
2.安装Curl命令行工具
在开始安装Node.js之前,请确保您的系统上安装了curl命令行实用程序。如果没有,请将此命令粘贴到您的终端上以安装curl:
sudo apt install curl
它可能会要求您输入系统密码以验证安装权限。输入密码后,系统应开始curl安装。

在Ubuntu上安装“curl”
3. 开始Node.js安装
您需要将Node.js安装命令复制并粘贴到您的终端中(在我们的例子中,我们可以从Ubuntu分发页面获取它),以便系统可以开始安装Node.js。
注:每个Node.js版本都有不同的安装命令。安装与您的Linux设置相匹配的Node.js版本。
例如,在这里,我们将安装Node.js v14.x。这些是Ubuntu的安装命令:
curl -fsSL https://deb.nodesource.com/setup_14.x | sudo -E bash -
sudo apt-get install -y nodejs
当你已经在你的终端上安装的curl命令行,你需要复制并粘贴您的第一个命令(curl命令)终端并运行它。
WordPress代码生成器如何加快开发速度

对于刚开始学习WordPress的来龙去脉的新开发人员来说,代码生成器可以非常方便地加快开发速度。与任何平台一样,通常存在需要大量代码块的任务,并且每个任务都有自己的语法。记住所有这些可能需要很多时间,其中一些只能通过练习来完成。
如果没有生成器,您唯一的选择就是筛选WordPress Codex或Stack Overflow以找到正确的代码或功能。即使对于经验丰富的开发人员,WordPress代码生成器也可以是一个很好的捷径,只需点击几下即可生成您已经知道需要的内容。或者防止你不得不一遍又一遍地写同样的东西。
什么是WordPress代码生成器?
WordPress代码生成器是一组工具,旨在为您的WordPress项目快速创建自定义和高质量的代码。使用生成器的一个优势,尤其是当您刚刚学习编码时,是它们遵循官方WordPress Codex中推荐的最新编码标准以及 API。
有时,将您从Stack Overflow帖子中找到的信息拼凑起来可能并不总是最好的,并且可能会造成不良习惯或混乱的代码。代码生成器可以帮助你养成良好的习惯,使用干净的代码,和正确的功能。除此之外,他们还可以帮助对您的代码进行评论,这在与多个开发人员合作或稍后移交项目时非常重要。
以下是您可以使用WordPress代码生成器执行的一些常见任务和操作:
- 为文章类型、简码、分类、帖子状态和元框创建自定义代码
- 生成仪表板小部件和快速标签
- 输出菜单、侧边栏和小部件
- 使用wp_query、 wp_user_query 、 wp_term_query 、 wp_comment_query等生成参数数组。
- 注册或排队CSS和JavaScript文件
- 为列表样式、光标、列、文本等创建自定义 CSS。
只需点击几下即可立即生成各种代码块。可能性真的是无穷无尽的。
热门的WordPress代码生成器
以下是一些热门的WordPress代码生成器,我们强烈建议您查看它们。其中大多数是免费的,而有些则有高级选项。
1. Nimbus Themes Code Generator
Nimbus Themes目前有20种不同的免费WordPress代码生成器可用。每个都分为不同的类别:Loop、UI 和设计、WP核心、管理、内容、CSS和片段。他们还有很多关于每个生成器及其工作原理的文档。有时阅读另一位开发人员关于如何使用WP_Query与Codex可用内容的解释会非常有帮助。

Nimbus主题WordPress代码生成器
例如,您可以使用他们的WP_Query生成器为WP_Query类构建复杂的参数数组。您可以定义诸如自定义文章类型、菜单顺序、分页等内容。您所做的只是根据您的偏好设置所需参数的值,该工具将为您生成特定于主题的自定义代码片段。只需将代码复制到剪贴板即可。

wp_query片段生成器
2. GenerateWP
第二个热门的WordPress代码生成器-GenerateWP已经存在了很长一段时间。这是由一个小团队开发的,该团队有助于为WordPress 核心、Codex 和元团队做出贡献。因此,他们了解WordPress编码标准和最佳实践。GenerateWP上的绝大多数工具都是免费的,但是,您可以付费并访问更多生成器、公共和私人代码段,以及能够保存您的代码段。

WordPress代码生成器-GenerateWP
除了有很多生成器之外,他们网站的一件非常巧妙的事情是您可以浏览 其他用户创建的公共WordPress片段。如果您正在为自己的项目寻找已经完成的查询、代码块或示例,这可能会非常方便。

公共WordPress代码片段
3. Hasty
正如他们所说,Hasty可以帮助您神奇地生成WordPress代码。虽然它可能没有像上面那样多的功能或生成器,但开发人员创建它的唯一目的是快速和简单。它也是完全免费的。

WordPress代码生成器-Hasty
UI看起来也很漂亮!一切都在一页上,无需浏览标签或步骤。只需输入您的选项,代码就会立即出现在右侧。

WordPress分类生成器
如何编辑WordPress代码 – HTML、CSS、PHP

虽然WordPress使非编码人员可以轻松管理网站,但有时您可能希望在WordPress中编辑代码以更好地控制您的网站的外观或功能。
为了帮助您做到这一点,这篇文章将向您展示如何以几种不同的方式在WordPress中安全地编辑代码:
如果您已经知道要做什么,可以单击上面的链接之一直接跳到该特定部分。否则,让我们开始编辑!
为了更好地控制WordPress网站的外观和功能,您可以编辑WordPress代码以自定义不同的区域:
- 新的区块编辑器和经典编辑器支持编辑单个文章或页面的HTML代码。
- 如果要编辑WordPress主题的源代码,请使用子主题。
- 考虑使用插件来管理添加到主题的<head>或functions.php文件中的代码片段。
- 如果您只想添加自定义CSS,您可以使用WordPress定制器中的附加CSS区域或“Simple CSS”等插件。
如何为单个文章/页面编辑WordPressHTML
让我们从编辑WordPress的HTML代码的最简单方法开始——访问单个WordPress文章、页面或其他文章类型的源代码。
您可以在新的WordPress区块编辑器 (Gutenberg)以及较旧的经典TinyMCE编辑器中执行此操作。
如何在区块编辑器中编辑HTML (Gutenberg)
您可以通过多种方式在Gutenberg中使用 HTML。
首先,如果您只想将自己的HTML代码添加到一段内容中,我建议不要尝试编辑文章的整个源代码,因为这会使事情变得不必要地复杂化。
相反,您可以只使用专用的自定义HTML区块并粘贴您想在那里使用的HTML:

古腾堡自定义HTML区块
但是,有时您也可能需要直接编辑不同区块的HTML。例如,如果您想向块编辑器中的链接添加nofollow标记,则需要编辑该区块的HTML。
有两种方法可以做到这一点……
首先,您可以单击单个区块的选项并选择作为HTML编辑选项:

如何将单个区块作为HTML编辑
这将让您编辑该单个区块的HTML:

编辑区块的HTML的示例
或者,如果您想编辑整个文章的HTML ,您可以从主工具和选项下拉列表中访问代码编辑器。或者,您也可以仅使用此键盘快捷键在代码和可视化编辑之间切换 – Ctrl + Shift + Alt + M:

如何在Gutenberg中访问完整的代码编辑器
请记住,在完整的代码编辑器中,您必须处理区块的所有标记 – 例如<!-- wp:paragraph -
如何在经典编辑器 (TinyMCE) 中编辑HTML
如果您仍在使用经典WordPress编辑器 (TinyMCE),则可以通过转到“文本”选项卡来编辑整个文章的HTML :

如何在经典WordPress编辑器中编辑HTML
如何编辑WordPress主题中的源代码
现在,让我们进入更大的主题,即如何在WordPress主题中编辑代码。风险有点高,所以在我们进入操作方法之前,我们需要先解决一些初步问题。
为什么赌注更高?嗯,很简单,这是因为如果你在这里搞砸了一些东西,你可能会破坏你的网站!
在最近的版本中,WordPress使您更难不小心这样做,但是编辑网站的源代码总是会打开问题的大门,因此您要确保安全地进行。
使用子主题进行任何直接代码编辑
如果您打算直接编辑主题文件中的任何代码,则需要使用子主题而不是编辑“父”主题。
如果没有子主题,您所做的任何代码更改都将在您下次更新主题时被覆盖。但是,当您使用子主题时,您将能够及时更新父主题而不会丢失您在子主题中所做的更改。
考虑使用插件而不是在子主题中编辑代码
如果您打算修改主题的工作方式,则可能需要通过直接编辑子主题的源代码来进行工作。
但是,如果您出于其他原因想在WordPress中编辑代码——例如向网站的<head>部分添加跟踪脚本或向主题的functions.php文件添加代码段——您最好使用插件代替.
例如, Head, Footer and Post Injections可以很容易地在需要的地方注入代码片段。而且因为这些代码片段都被隔离在插件的界面中,所以将来管理它们也更容易。
同样,如果您要添加可以放入子主题的functions.php文件的代码片段,免费的Code Snippets插件是一个不错的选择。
总之,如果您想在WordPress中编辑代码以将片段添加到您的主题…
<head>部分- Functions.php
…那么您应该考虑使用插件而不是指导编辑主题文件,因为这样可以更轻松地管理这些片段并确保更新主题时它们不会被覆盖。
如果您需要进行其他编辑,让我们深入了解如何为您的主题编辑源代码。
使用仪表盘内的WordPress代码编辑器
如果您打算直接编辑您的主题代码,我们强烈建议您在这样做之前备份您的网站(您的整个网站或您正在编辑的文件)。
完成后,您可以通过转到外观→ 主题编辑器来访问仪表板内的主题代码编辑器。在这里,WordPress会首先给你一个类似于你上面学到的警告:

访问仪表盘内代码编辑器之前的警告
然后,您将能够使用右侧的侧边栏在不同的主题文件和代码编辑器本身之间导航以进行实际编辑:

仪表盘内的WordPress代码编辑器
使用SFTP编辑WordPress代码
作为仪表盘代码编辑器的替代方案,您还可以通过SFTP编辑主题文件。这种方法有两个好处:
- 您可以使用您喜欢的代码编辑器。
- 如果您不小心弄坏了某些东西,您可以立即解决问题。相比之下,如果您通过WordPress仪表盘编辑代码,则总有可能会导致你无法进入WordPress仪表盘,这意味着您需要通过SFTP连接来解决问题(尽管再次 – 这是由于最近的变化,可能性较小)。
以下是通过FTP连接到您的站点的方法。
完成后,导航到您的主题文件夹 – …/wp-content/themes/child-theme-name。找到要编辑的文件并右键单击它。大多数FTP程序都会为您提供编辑文件的选项,并在您进行更改后自动重新上传文件。
但是,我们强烈建议您在进行任何更改之前将该文件的原始版本下载到您的桌面。这样,如果您不小心破坏了某些内容,您可以重新上传原始版本:

如何通过SFTP编辑WordPress的文件代码
如何将自定义CSS添加到WordPress
如果您只想向WordPress添加自定义CSS,而不是编辑WordPress的HTML或PHP代码,则不需要使用仪表板内代码编辑器或SFTP方法。
相反,您可以使用WordPress定制器。除了是一个更简单的选择之外,采用这种方法的另一个好处是您将能够实时预览您的更改。
要开始,请转到WordPress仪表盘中的外观 → 自定义:

如何访问WordPress定制器
然后,在WordPress定制器中查找额外CSS选项:

WordPress定制器中的额外CSS选项
这将打开一个代码编辑器,您可以在其中添加所需的CSS。添加CSS时,站点的实时预览将根据这些更改自动更新:

如何在WordPress定制器中编辑CSS
添加CSS的另一个不错的选择是Tom Usborne的Simple CSS插件。它在WordPress定制器中为您提供了一个类似的选项,它还允许您通过元框将自定义CSS添加到单个文章或页面。
最后,如果您想添加大量自定义CSS——比如数百或数千行——另一个选择是创建您自己的自定义CSS样式表并使用wp_enqueue_scripts将其添加到您的主题中。
小结
如果您想在单个WordPress文章或页面中编辑代码,新的区块编辑器和经典编辑器都为您提供了直接编辑HTML的选项。
另一方面,如果您想编辑WordPress主题的源代码,则需要考虑以下几点:
- 始终使用子主题,而不是直接对父主题进行代码编辑。
- 考虑使用插件来管理您添加到<head>或functions.php文件的片段,因为这些插件可以提供更简单、更易于管理的方法。
如果您在考虑这些因素后仍需要直接编辑代码,您可以通过转到外观 → 主题编辑器,从您的WordPress仪表盘编辑您的子主题的源代码。或者,您可以通过SFTP连接到您的站点并以这种方式编辑代码。
最后,如果您只想添加一些自定义CSS,则无需直接编辑主题代码。相反,您可以只使用WordPress定制器中的额外CSS区域或像Simple CSS这样的插件。
如何修复XAMPP错误“MySQL意外关闭”
- 错误类型:
- 其他错误
- 错误名称:
- MySQL意外关闭
- 英文名称:
- MySQL shutdown unexpectedly
- 错误描述:
- 顾名思义,您的XAMPP环境中的MySQL软件意外关闭或停止运行。

如果您使用本地开发环境,您可能会遇到与实时服务器上的问题类似的问题。在某些情况下,您的WordPress网站可能无法与其数据库连接,因为MySQL未运行或意外关闭。
根据您使用的本地环境,对MySQL数据库进行故障排除的过程可能会有所不同。使用XAMPP,该过程非常简单,因为您可以访问控制面板,而不必仅依赖命令行。
在本文中,我们将解释XAMPP是什么以及“MySQL意外关闭”错误的含义。然后我们将引导您完成三种可用于修复它的方法。让我们开始吧!
XAMPP简介
XAMPP是一个免费的PHP开发环境,可用于Windows、macOS或Linux。它是一组软件,可让您通过模仿实时服务器的功能在本地托管网站:

XAMPP网站
使用XAMPP,您可以使用单个包安装在本地运行WordPress所需的所有软件,而不是单独设置每个元素。开发环境的不同之处在于它们捆绑的软件。
使用 XAMPP,您获得的组件包括:
- Apache:这可以说是世界上最流行的 Web 服务器软件,它使您能够托管站点。
- MariaDB:这个开源数据库软件使您能够管理数据库。
- PHP: WordPress 基于 PHP 构建,这意味着您需要安装PHP才能运行内容管理系统 (CMS)。
- Perl:虽然 WordPress 不使用 Perl 编程语言,但默认情况下它是 XAMPP 堆栈的一部分。
除了设置运行WordPress所需的软件之外,XAMPP还为您提供了一个简单的控制面板:

XAMPP控制面板
这使您能够访问每个XAMPP组件的日志。它包括一个概览日志,向您显示在您的环境背景中发生的所有事情。
但是,使用本地开发发行版并不意味着您的服务器不易出错。在某些情况下,软件组件可能会出现故障,例如XAMPP错误“MySQL 意外关闭”。
XAMPP错误“MySQL意外关闭”的含义
顾名思义,如果您的环境中的MySQL软件意外关闭或停止运行,您将看到以下消息:

XAMPP错误-“MySQL 意外关闭”
我们说“意外”,因为您可以随时手动关闭MySQL数据库软件。当您重新启动服务器时也会发生这种情况。
但是,当软件关闭时,您的网站将无法连接到其数据库。换句话说,WordPress将无法工作。
正如您在上图中所看到的,XAMPP直接在其事件日志中为您提供了解决“MySQL 意外关闭错误”的建议。在下一节中,我们将更详细地介绍可用于解决此问题的各种方法。
如何修复XAMPP错误“MySQL意外关闭”
通常,修复XAMPP错误“MySQL 意外关闭”既快速又简单。下面,我们将引导您完成三个修复,从最简单的开始。
1. 使用管理员权限运行XAMPP
通常,当您不使用管理员权限运行软件时,XAMPP会产生错误。这是因为它的组件可能无法在较低的权限级别下正常运行或配置。
如果您不确定您的设置是否属于这种情况,我们建议您完全关闭XAMPP,然后以管理员身份重新启动环境。要在Windows中执行此操作,请找到安装XAMPP的文件夹并找到xampp-control文件。接下来,右键单击该文件并选择以管理员身份运行:

以管理权限启动XAMPP
如果您是macOS用户,则可以右键单击该文件夹,然后选择“ 获取信息”。在打开的弹出窗口中,导航到“共享和权限”部分,单击挂锁图标,然后输入您的管理员密码。将读取和写入 权限设置更改为Everyone。
一旦 XAMPP 启动并且它的每个组件都在运行,MySQL应该可以正常运行。这意味着您的数据库将可以访问。
2. 恢复数据库备份
如果使用管理员权限重新启动XAMPP不能解决数据库问题,下一步是恢复其备份。XAMPP 会自动为您的环境软件创建备份,您可以在安装它的文件夹中访问这些备份。
默认情况下,您的XAMPP MySQL备份文件应位于Local Disk>XAMPP>MySQL下。在该目录中,您将看到几个文件夹,其中两个文件夹称为data和backup:

XAMPP的MySQL目录
该数据文件夹中包含的所有文件,你的数据库的用途。该备份文件夹中包含你的MySQL的一个最新副本。
在恢复备份文件之前,请使用XAMPP控制面板停止MySQL软件。您可以通过单击主菜单上MySQL选项右侧的停止按钮来执行此操作:

使用XAMPP控制面板
停止MySQL后,返回到XAMPP文件夹。要恢复MySQL备份,请将数据文件夹的名称更改为其他任何名称,例如data-old。然后将备份文件夹重命名为data。就是这样!
为了安全起见,我们建议您保留data-old文件夹,直到确保一切正常。在这个阶段,您可以返回XAMPP控制面板重新启动MySQL,它现在应该可以正常运行了。
3. 更改MySQL端口
XAMPP错误“MySQL 意外关闭”的最常见原因之一是使用分配给MySQL的端口的另一个软件。默认情况下,它往往是3306。可以肯定的是,您可以从XAMPP的控制面板中选择Netstat模块,就在Shell工具的正上方:

使用XAMPP的Netstat工具
Netstat是一个命令行工具,可以显示网络上的活动连接,包括它们使用的端口。初始化Netstat后,您将能够查看堆栈中每个工具使用的端口,包括MySQL。

使用Netstat检查活动连接
如果与该端口的冲突导致关闭,则恢复备份或以管理员权限运行MySQL不会产生任何影响。解决此问题的唯一方法是更改MySQL使用的端口。通过Netstat,您可以查看该端口是什么以及正在使用哪些其他端口。
为此,请继续使用我们在上一节中向您展示的相同过程停止服务。接下来,单击XAMPP主菜单上MySQL旁边的Config按钮,然后选择my.ini选项:

访问MySQL的配置文件
该my.ini的文件包含MySQL配置设置。单击它后,XAMPP将使用您的默认文本编辑器打开该文件。进入后,查找读取Port的行,该行指定MySQL使用的端口号。
在这里,您可以将该端口号更改为您知道其他程序未使用的另一个选项。在大多数情况下,我们建议使用3307,它应该可用。保存更改并关闭my.ini 文件。
然后您可以使用XAMPP控制面板重新启动MySQL。希望您的数据库现在可以正常工作。如果由于某种原因,XAMPP无法使用您设置的新端口连接到您的数据库,它将通过控制面板的日志通知您。在这种情况下,您可以尝试使用不同的端口。
小结
如果您使用XAMPP在本地运行WordPress,您可能会偶尔遇到服务器配置错误。最常见的问题之一是MySQL意外关闭。
好消息是,如果发生这种情况,您可以使用三种方法来解决问题:
- 使用管理员权限运行XAMPP。
- 恢复您的数据库备份。
- 更改您的MySQL端口。
关于WordPress文件及其使用方法的综合指南

WordPress文件构成了WordPress网站的基础。文件目录驻留在服务器上——无论该服务器是拥有并存储在您自己的办公室中,还是由托管公司管理。在这些目录中有各种文件夹和文件,每个文件夹和文件都用于向最终用户传递命令和提供内容。好消息是所有新的WordPress网站的WordPress文件结构都保持不变,这使得很容易理解所有内容的配置方式。但是,文件本身以及属于每个文件的代码乍一看似乎令人困惑。
这就是为什么我们将深入研究WordPress文件及其用途。从WordPress配置文件到wp-content存储和交付所有图像的文件夹。主题和插件,了解WordPress文件的内部工作原理对于未来的管理和网站修改非常重要。
- 了解WordPress文件的重要性
- WordPress文件存储在哪里?
- 如何访问WordPress文件?
- WordPress文件和目录结构
- 关于WordPress文件权限
- 管理和审核您的WordPress文件
了解WordPress文件的重要性
您可能想知道,学习WordPress文件和目录结构有什么意义?
这是一个很好的问题;在某些情况下,根本没有理由了解它们。如果您是一名非技术网站所有者,并且宁愿将这一责任转嫁给您的托管公司或开发人员,那么您可能不需要了解有关该wp-includes文件夹的任何信息或.htaccess含义。
如果您愿意将这种类型的管理交给其他专家,例如您选择托管托管计划,那么您将有更多时间和精力专注于日常业务任务。
但是,有抱负的高级开发人员和设计师,以及真正与网站打交道的任何人,都需要了解 WordPress 文件结构的复杂工作原理。此外,即使是技术含量较低的网站所有者也可以学习一两件事来帮助他们处理诸如文件上传或将来保护他们的数据库之类的事情。
以下是了解WordPress文件的一些主要原因:
- 了解WordPress文件结构有助于普通WordPress用户自己解决问题,而不是联系托管公司或开发人员,从而节省金钱和时间。
- 您可以了解帮助WordPress发挥其魔力的核心文件。
- 可以更好地了解图像和媒体上传的存储方式,让您可以选择SFTP等替代上传方法,并弄清楚如何在需要时共享和保护它们。
- 您可以看到主题和插件的存储位置和方式,为其他上传方法打开了选项,并有可能找出插件或主题出现的问题。
- 可以调整语言文件以接触世界各地的新客户。
- 您可以对您的网站进行简单的修改而不会造成损坏,看看如何不推荐在仪表板中编辑代码,并且当您至少在某种程度上舒适地筛选文件时进行正确的编辑要容易得多。
- 有一些选项可以设置文件权限和限制某些用户的内容,从而提高您的整体安全性。
- 您可以使用多种方法之一来上传和下载WordPress文件。您最终可能会偶然发现一个更简单或更实用的解决方案。
- 您可以为您的网站生成备份并保护您的网站文件,从而消除有关您的网站究竟有多安全的问题。
- 具有强大 WordPress 文件知识的开发人员能够成功地将文件访问权转移给网站所有者,并解决网站带来的任何问题。
- 如果网站被黑客入侵或发生使网站崩溃的冲突,通常需要访问 WordPress 文件。例如,有时您需要移除或更换损坏的。
- 当您可以轻松浏览WordPress文件时,对WordPress错误进行故障排除会容易得多。
WordPress文件存储在哪里?
正如您的计算机软件和媒体文件存储在内部硬盘驱动器上一样,WordPress 网站文件也放置在服务器上,以确保它们能够提供各种各样的内容、设计调用和操作,这些内容、设计调用和操作共同呈现完整的网站体验给用户。
该服务器有时称为机器或计算机,位于某个物理位置。这主要是托管服务器,一台外观和功能与您的计算机相似的机器。
物理位置取决于您计划如何托管您的网站。可以从您自己的家中或办公室运行服务器。许多公司运行自己的服务器系统以保持对其数据的完全控制。另一方面,许多网站存储在远程服务器上,通常由托管公司管理。
您的 WordPress 站点文件会上传到连接 Internet 的服务器,该服务器能够在正确的时间保护和提供正确的文件。此外,主机服务器使您能够通过数字接口访问文件,即使文件本身位于数据中心服务器上的其他位置。
有许多类型的服务器和托管选项,但其中一些包括以下内容:
- 共享主机。
- 基于云的托管。
- 虚拟专用服务器。
- 专用网络服务器。
- WordPress托管服务器。
您决定的托管最终取决于您希望对站点文件进行多少访问和控制。
本地存储
也可以将WordPress文件存储在本地机器上。例如,您可以访问WordPress.org网站并下载包含最新版本的WordPress及其zip文件。
许多开发人员出于不同的原因将他们的站点文件存储在本地计算机上。首先,在发布网站供公众查看之前,您可能希望在不太公开的环境中开发和设计网站。沿着这条路线走意味着您将添加到原始文件并使用开发沙箱和桌面服务器,如XAMPP或WAMP。
单击此处了解如何安装本地版本的WordPress。
本地安装背后的目标是模仿托管公司提供的配置。您将获得一个类似的托管堆栈来提供您的文件并从您的本地文件生成站点功能。可以在浏览器中呈现您正在进行的网站以测试进展情况。利用临时环境或沙箱工具也很常见,这有助于开发和测试,提供更改预览和比文件目录中看到的更友好的用户体验。
如何访问WordPress文件?
现在我们知道WordPress文件位于服务器或本地环境中。太好了,但是您如何访问文件以向您的网站设计添加更多内容、上传新主题以及组织诸如核心文件或媒体项目之类的项目?
以下是几个可供选择的选项,用于访问、查看和管理 WordPress 文件:
- 本地访问文件。
- 通过FTP客户端。
- 通过cPanel仪表板。
- 通过WordPress仪表板。
这些方法中的每一种都可以用于查找和管理您的WordPress文件。但是,有些比其他的要好,并且通常不推荐一些。
继续阅读下文以了解有关如何通过提到的各种方法访问文件的更多信息。
本地访问WordPress文件
查找存储在本地计算机上的WordPress文件相当简单。
第一个选项是下载WordPress的空白副本并使用这些文件来了解它们并在将它们上传到服务器之前可能管理您的网站。
在这种情况下,唯一的要求是初始WordPress文件目录下载。之后,访问文件与单击计算机上的其他文件没有什么不同。
首先,将最新的WordPress副本下载到您的计算机上。
单击获取WordPress按钮。

WordPress Core可以从WordPress.org网站下载
然后,单击最近的下载按钮。WordPress已经显示了当前版本,所以这通常是最好的选择。

下载WordPress核心
将文件放在您会记住的本地驱动器上。解压缩该文件以显示WordPress文件。它应该命名为“wordpress-[version]”。
单击该文件并将压缩版本保存在同一位置。

下载后解压WordPress包
所有WordPress文件都存储在一个名为“WordPress”的文件夹中。

包含核心文件的“wordpress”目录
现在您应该会看到一系列文件夹和文件,例如wp-content、wp-admin和wp-login.php文件。
这就是文件和文件夹目录在WordPress中的样子。它很少改变,除非整个内容管理系统有更新。
您可以打开每个文件夹以查看内容,同时还可以打开和编辑(如果需要)主文件夹下的WordPress文件。

WordPress核心文件
在这种情况下,本地WordPress文件没有到Internet或服务器的链接。因此,您可以在没有任何公众影响的情况下进行更改。但是,在某些时候,您需要将文件添加到开发环境,并最终将它们传输到实时托管服务器。
使用FTP客户端访问WordPress文件
查看和重新组织 WordPress 文件的另一种方法是借助 FTP(文件传输协议)客户端。文件传输协议将您的本地文件环境链接到托管服务器上的实时网站。通过这种方式,您可以立即将文件从您的计算机拖到您的网站文件中,而没有太多限制,也无需进入您的托管仪表板。
有几个FTP客户端可供您使用,诸如FileZilla、Cyberduck、CuteFTP和Free FTP等。以下是使用FileZilla作为FTP客户端的该过程的简化版本:
首先,你需要访问您的服务器提供商网站获取SFTP/SSH的登录信息,它们包括“主机”、“用户名”、“密码”和“端口”。

MyKinsta服务器的SFTP/SSH凭据
每个FTP Client都有点不同,但一般都能找到通过FTP连接站点服务器的对应字段。
例如,在FileZilla中,Quickconnect字段位于窗口顶部,将这些SFTP凭据粘贴到主机、用户名、密码和端口字段中。单击“快速连接”按钮继续。

使用FileZilla连接到服务器
如果您遇到错误,很可能是因为FileZilla默认使用FTP连接,而主机要求使用SFTP连接。
要在FileZilla中解决此问题,请转到“文件 > 站点管理器”,并将“协议”字段从FTP更改为SFTP。
单击“连接”按钮,一切正常。

在FileZilla中配置SFTP连接
FTP客户端通常只需要一点时间来处理凭据并同步到您的本地文件和服务器上的文件。
看到服务器上的文件后,找到根文件;单击“公共”文件夹以显示当前安装在您网站上的所有WordPress文件。
像往常一样,我们会看到像wp-admin和wp-content这样的文件夹,这样可以很容易地识别出您在正确的位置。

服务器上的WordPress核心文件
通过FTP客户端访问WordPress文件只是一个开始。您现在可以上传文件、复制文件夹以及拖入主题和插件等项目。它也是添加您自己的自定义编码的好地方,只要您不编辑不应该触及的核心文件。
在所有访问WordPress文件的方法中,推荐FTP客户端进程作为最佳解决方案。在某些情况下唯一有意义的替代方法是将本地环境用于暂存或测试目的。
在cPanel中访问WordPress文件
总体而言,cPanel是一些托管公司提供的控制面板,用于访问托管帐户中所谓的文件管理器。
如果您使用使用 cPanel 的主机,请按照以下步骤访问WordPress文件:
- 登录您的主机cPanel。
- 找到文件管理器按钮。点击那个。
- 使用“上传”、“移动文件”和“新建文件夹”等各种按钮来管理和修改WordPress文件中已有的内容。
您通常还可以选择通过cPanel通过FTP连接。此cPanel功能通常称为FTP帐户或FTP会话控制,通常位于文件管理器附近。
在WordPress仪表盘中访问WordPress文件
从技术上讲,WordPress提供了对仪表盘中某些文件的访问,尤其是主题文件。
原因是因为主题设置显示在仪表盘中,并且仪表盘中需要这些文件以确保正常功能。
但是,强烈建议您跳过在仪表盘中编辑这些文件的过程。
这就是为什么您应该避免使用WordPress仪表板编辑主题文件的原因:
- 当未来的 WordPress 或主题更新出现时,更改可能会被覆盖。
- 您的网站主题文件没有备份,以确保更改不会造成任何损害。
- 直接编辑您的主题可能会破坏您的网站,因此最好通过主题设置或使用在开发环境中编辑然后通过 FTP 客户端传输的副本进行编辑。
话虽如此,我们知道有些人无论如何都会继续编辑仪表板中的主题文件。此外,如果您只是弄乱模板或测试网站,这也不是一件坏事。但是,我们鼓励您在使用重要网站时完全避免这种情况。
如果您计划继续直接编辑主题文件,请考虑使用文件管理器来生成具有新名称的文件副本。保留原始版本,仅编辑重复版本。这些备份主题文件可确保您在遇到问题时能够重新启用以前的功能。
访问仪表板中的主题文件。转到“外观>主题编辑器”。

访问WordPress主题编辑器
您将收到关于直接通过仪表板修改这些文件的危险的警告,因此这是一个很好的提醒,不要弄乱这个区域!
总体而言,此仪表板部分包含以下文件及其内容:
- style.css
- functions.php
- footer.php
- header.php
- index.php
- sidebar.php

在WordPress主题编辑器中编辑style.css文件
所有这些文件都存储在您网站的主题文件夹(位于wp-content目录中)中,因此您可以选择通过更安全的途径管理文件。此外,它们都是设计文件,可以通过WordPress可视化定制工具轻松坚持替代编辑解决方案。
虽然这不会让您直接访问您的文件,但定制器提供了一个安全的环境来调整您的WordPress网站的外观。此外,您可以选择添加自己的CSS代码,然后在保存后将其写入站点文件。
要遵循此路线,请转到仪表盘中的“外观 > 自定义”。

自定义WordPress网站的外观
现在您拥有主题的完整视觉视图,并在您修改设置时实时更新预览。优点是预览不会立即更改您的实时网站。相反,您可以检查新设计,然后在准备就绪时按“发布”按钮。
如您所见,各种模块可用于间接编辑具有站点标识、颜色、菜单、小部件和主页设置设置的样式文件。

在WordPress中自定义站点Logo、颜色、菜单等
如前所述,“额外CSS”选项卡是将样式添加到站点文件的理想部分,而无需直接编辑文件。此外,您还可以在保存之前预览您的修改。只需将所需的代码粘贴或输入到CSS模块中即可。

向您的WordPress网站添加额外的CSS
WordPress文件和目录结构
第一次查看WordPress文件和目录结构可能会让一些用户感到不知所措。但是,很快就会识别这些文件夹和文件以及熟悉的工具,它们可以在您身边快速修改网站元素并合并独特的代码更改以对您的网站进行高级改进。
既然您拥有对文件的完全访问权限,下一步是什么?
我们建议浏览以下默认WordPress文件列表,以便全面了解每个文件对您的网站的作用以及它们在WordPress文件夹目录中的位置。
更重要的是,文件目录的结构被很好地组织成类别,因此您只需要在一个区域中工作来调整设计元素或查看核心文件等内容。
尽管乍一看似乎令人生畏,但请继续阅读以更清楚地了解每个文件以及如何将它们用作开发过程中的宝贵工具。
WordPress核心文件
如果您已经在文章中做到了这一点,那么您已经大致了解了WordPress核心文件。
通常被称为干净或空白的WordPress安装,您最初下载用于首次安装 WordPress 的文件组构成了所谓的“WordPress核心”。
这些核心文件最终会形成您网站的管理界面,并共同向前端提供正确的内容。
存在相当多的核心文件,但一些主要文件包括:
- wp-admin
- wp-includes
- index.php
- license.txt
- readme.html
- wp-activate.php
- wp-blog-header.php
- wp-comments-post.php
- wp-config-sample.php
- wp-cron.php
- wp-links-opml.php
- wp-load.php
- wp-login.php
- wp-mail.php
- wp-settings.php
- wp-signup.php
- wp-trackback.php
- xmlrpc.php
下面是一个示例,让您了解一些核心文件的外观。这是wp-config.php文件(由WordPress提供,根据安装过程wp-config-sample.php手动更改或自动转换为wp-config.php文件)。

wp-config.php文件
大多数WordPress核心文件都带有注释,告诉您每个功能的作用,或者有时直接解释整个文件对您的网站的作用。
如果您计划对常见的 WordPress 错误进行故障排除并以知识渊博的洞察力在网站的后端移动,那么了解核心文件是必不可少的。更不用说,核心文件真正向您展示了WordPress如何作为一个统一的生态系统工作。
注:核心文件构成了WordPress基础的构建块。这意味着,如果您弄乱了核心文件中的某些内容,可能会导致严重错误或损坏整个网站的运行方式。因此,我们始终建议您在调整或添加站点文件之前对其进行备份,尤其是在处理核心文件时。
了解WordPress核心文件
之前列出的核心文件列表是您每次下载新的WordPress时都会得到的。可以通过解压缩WordPress安装文件或通过FTP客户端或主机仪表板访问当前文件站点文件来找到它们。

WordPress核心文件
每个文件都有其用途。有些文件比其他文件更重要,而您不必过多考虑某些文件。在以下部分中,我们将详细介绍基本核心文件,概述每个文件对您的网站的作用以及您是否有任何理由编辑这些文件。不会涵盖每个WordPress文件,只会涵盖值得注意的文件。
.htaccess文件
.htaccess文件是WordPress顶级目录的一部分,用作Apache Web服务器上的基本配置文件。您可能会注意到部分服务器找不到.htaccess文件,那是因为有些服务器使用Nginx Web服务器,它提供了比Apache更好的性能。
总的来说,Apache和Nginx都提供了类似的选项来添加特殊规则和配置重定向。
Apache Web 服务器最常用于预算共享主机,它提供配置设置来告诉您的Web服务器如何工作。在WordPress中,.htaccess文件对于控制您网站的固定链接并使它们在整个网站上看起来干净和标准化尤为重要。
NG服务器没有 .htaccess文件
但是,对于其他主机,.htaccess文件列在顶级目录中,靠近index.php等基本要素,并在wp-admin、wp-content和wp-includes文件夹下方。
Apache服务器上的.htaccess文件
何时使用 .htaccess 文件?
大多数情况下,.htaccess文件应该保持不变。但是,您可以通过添加或更改文件来激活多种操作和重定向。
例如,您可以在仪表板中设置重定向规则、拦截IP地址并在您的站点上设置密码,所有这些通常都可以使用标准.htaccess文件完成。
总体而言,.htaccess当您需要制定以下规则或完成这些操作时,该文件是最好的:
- 增加媒体项目和文件的最大上传大小。
- 阻止对特定IP地址的访问。
- 设置从一个URL到另一个URL的重定向。
- 向文件添加规则,以便以更有效的方式提供缓存内容。
- 将HTTP重定向到HTTPS。
wp-config.php文件
wp-config.php文件对所有WordPress用户来说都是必不可少的,而且非常有用,因为它包含所有基本的WordPress设置。这意味着wp-config.php文件可让您编辑WordPress网站的各个区域,从数据库到自动更新WordPress版本。wp-config.php如此重要的另一个原因是它提供了激活WordPress调试功能的选项,这对于将来的故障排除至关重要。
可通过FTP客户端访问,wp-config.php文件可通过转至根目录下的公共(有时称为public_html或www)文件找到。
您可以在一些主要WordPress文件夹附近找到wp-config.php文件,例如wp-cron.php和wp-comments.php.

wp-config.php文件包含WordPress的全局设置
以下是wp-config.php文件的默认内容:
如何执行WordPress数据库搜索和替换

在管理您的WordPress网站时,在这里做些小改动通常没什么大不了的。但是,有时您需要一次更新站点上的许多元素,在这种情况下,可能需要进行WordPress搜索和替换。
例如,也许您刚刚从HTTP迁移到HTTPS,并且您需要更新WordPress数据库中的所有硬编码HTTP URL。或者,您可能正在更改域并需要更新所有数据库引用。在很多情况下,知道如何执行批量WordPress搜索和替换可以为您节省大量时间。
在这篇文章中,我们将解释什么是WordPress搜索和替换,以及何时可能需要进行搜索和替换。然后,我们详细介绍几种不同的搜索替换方法。
WordPress搜索和替换概述
在少数情况下,您可能需要在WordPress网站上执行搜索和替换。最常见的情况之一是当您想要替换添加到多个页面或文章的一段文本(例如免责声明或个人简介)时,但您不知道它当前所在的每个位置。
与手动搜索每个文章和页面以查找要切换的文本相比,能够进行批量搜索和替换可以节省大量时间。此外,您不仅可以在文本上使用此技术。
例如,您还可以执行批量WordPress搜索并替换WordPress数据库中的URL和图像。如果您想,此功能会派上用场:
- 更新您的搜索引擎优化 (SEO) 关键字
- 更正语法或拼写问题
- 删除某些单词或特殊字符
- 迁移后将您的HTTP URL更新为HTTPS
- 将您的网站从www移到非www网址(反之亦然)
- 更新旧的简码、内容或文本字符串
我们要提到的一件事是没有“撤消”选项。一旦替换了文本或其他内容,就无法取回旧版本。您将不得不进行另一次批量搜索和替换才能逆转该过程。这就是为什么我们强烈建议在任何WordPress搜索和替换例程之前执行备份。
如何执行WordPress搜索和替换
有很多不同的方法可以执行 WordPress 搜索和替换。让我们来看看五个推荐的选项。
1.安装WordPress搜索和替换插件
您可以使用插件执行WordPress搜索和替换而无需手动搜索您的数据库。您可以使用的一种流行解决方案是Better Search Replace:

WordPress插件-Better Search Replace
Better Search Replace插件是由一个WordPress团队-Delicious Brains开发的,其灵感来自于互连/it PHP 脚本,我们将在下一个方法中提及。
温馨提示:在撰写本文时,Better Search Replace已经几个月没有更新了。尽管我们在尝试时没有遇到任何问题,但我们强烈建议先备份您的站点并在临时环境中进行测试,然后再将其推送到实时站点。
Better Search Replace的一些功能包括:
- 对所有表的序列化支持。
- 选择特定表的能力。
- 进行“试运行”以查看将更新多少字段的选项。
- 除了WordPress的运行安装之外,没有服务器要求。
- WordPress多站点兼容性。
此工具有数百种不同的用例。正如您在下面的示例中看到的那样,在“更好的搜索替换”选项中,您可以轻松搜索任何硬编码的HTTP引用并使用HTTPS版本进行更新:

Better Search Replace插件选项
该插件还有一个专业版,可让您访问更多功能。您可以查看有关如何更好地使用此插件的官方文档。
您可能会考虑使用的另一个工具是Search Regex:

WordPress插件-Search Regex
虽然它足以执行基本的搜索和替换任务,包括批量更新URL和内容,但该插件不如Better Search Replace流行或广泛使用。尽管如此,它仍然是一个积极维护且评价良好的工具,可以完成工作,并且易于使用。
您可以从WordPress插件库下载任一解决方案。或者,您可以在WordPress仪表盘中的插件>安装插件下搜索它们。
2.使用PHP脚本Search Replace DB
您可能不想在您的WordPress网站上安装此类插件。如果是这样,您可以执行WordPress搜索和替换的另一种方法是使用来自interconnect/it的免费PHP脚本-Search Replace DB:

interconnect/it网站
请务必注意,如果您不知道自己在做什么,则使用此脚本可能会破坏您的WordPress网站。如果您对这种方法不满意,请先咨询开发人员或您的网络托管服务商。
该脚本自2011年以来一直存在,开发人员积极更新它。要使用该脚本,只需下载zip文件,解压缩名为“search-replace-db-master”的文件夹,并将其重命名为您选择的名称。
在我们的示例中,我们将其重命名为“update-db-1551”:

上传搜索和替换脚本
接下来,通过FTP或SFTP将文件上传到您的Web服务器的公共目录。这通常与包含您的/wp-content 文件夹的目录相同。然后在浏览器中导航到您的私密文件夹,例如“https://domain.com/update-db-1551”。
该脚本将自动尝试查找并填充数据库字段。但是,您必须检查以确保详细信息正确无误,并且它们是您希望对其执行搜索和替换操作的数据库的正确信息。
您可以先单击dry run以查看脚本将更新或替换的内容。准备好后,选择live run,它将执行数据库更新和WordPress搜索和替换:

在WordPress数据库上运行搜索和替换
此外,出于安全原因,完成后删除此脚本非常重要!您可以选择delete me按钮来执行此操作。
如果您不这样做,它可能会使您的网站容易受到攻击。最好再次检查您的Web服务器以确认文件夹和脚本已被完全删除。
3. 使用WP-CLI直接执行搜索和替换
您可以用来执行WordPress搜索和替换的另一种方法是直接使用WP-CLI进行。这是WordPress开发人员的一个选项。
以下是该命令的示例:
wp search-replace 'http://example.dev' 'http://example.com' --precise --recurse-objects --all-tables
您可以在官方WP-CLI文档中阅读有关wp search-replace命令可用参数的更多信息。您可能还想查看此高级搜索并替换WP-CLI指南。
4. 使用phpMyAdmin运行查找和替换MySQL查询
如果您习惯于使用代码并且不想使用插件在您的WordPress数据库中执行搜索和替换,您也可以在phpMyAdmin中使用MySQL查询。但是,这只能由专业的WordPress开发人员完成。
如果您的托管服务提供商使用cPanel,那么您可以浏览并选择Databases下的phpMyAdmin:

来自cPanel“数据库”部分的PhpMyAdmin
宝塔用户可以直接从宝塔仪表盘访问phpMyAdmin。点击左侧的数据库菜单,然后找到对应站点的数据库,点击“管理”:

宝塔仪表盘中的phpMyAdmin入口
将打开一个带有phpMyAdmin登录页面的新选项卡。输入您的数据库用户名和密码,然后选择Go:

phpMyAdmin登录页面
访问phpMyAdmin后,找到数据库的名称。如果您在这方面需要帮助,请导航到您的文件管理器。在public_html或者www/yourdomain文件夹下,打开您的wp-config.php文件,并查找显示为“define(‘DB_NAME’,’Database Name’);”的行。
接下来,从 phpMyAdmin 中,选择SQL选项卡:

phpMyAdmin中的“SQL”选项卡
添加以下代码片段:
update TABLE_NAME set FIELD_NAME = replace(FIELD_NAME, 'Text to search, 'Text to replace it with');
然后单击Go按钮运行SQL查询。该过程完成后,它将显示一条成功消息,指示已更改实例的数量。您可以访问您的WordPress站点以确认搜索和替换成功。
小结
无论您是要更新关键字还是替换所有帖子中的特定文本,学习如何执行批量搜索和替换都非常有用。幸运的是,您可以使用多种方法来做到这一点。
我们推荐用于WordPress搜索和替换的四种办法包括:
- 安装WordPress搜索和替换插件,例如Better Search Replace或Search & Replace。
- 使用interconnect/it提供的PHP脚本-Search Replace DB。
- 使用WP-CLI直接执行搜索和替换。
- 使用phpMyAdmin运行MySQL查询。
什么是WordPress站点.htaccess文件?

您的WordPress站点的.htaccess文件是Web服务器Apache使用的基本配置文件。但很多服务器使用的Web服务器是Nginx而不是Apache,您实际上不会拥有.htaccess文件。
但是,如果您在其他地方托管站点,了解.htaccess文件很重要,这也是您经常在WordPress教程中看到的主题。
在本文中,您将详细了解WordPress站点.htacces 文件是什么以及它可以让您做什么。
什么是WordPress站点.htaccess文件?
.htaccess文件是Web服务器Apache使用的基本配置文件,可让您创建告诉Web服务器如何运行的特殊规则。它位于根文件夹中。
默认情况下,您的WordPress站点使用.htaccess文件来控制站点的永久链接结构,但许多插件也将.htaccess文件用于其他目的,例如:
- 添加特殊规则以更有效地提供缓存内容。
- 设置自动重定向
- 将HTTP重定向到HTTPS
- 基于IP地址禁止/限制访问
- 增加最大上传大小
什么是.htaccess?更详细的解释
回顾一下,.htaccess是Web服务器Apache使用的配置文件,它是大多数预算共享主机使用的Web服务器。作为一个基本的配置文件,它允许您创建特殊的规则来告诉您的Web服务器如何运行。
默认情况下,您的WordPress站点使用.htaccess文件来控制站点的固定链接结构。许多WordPress插件也使用.htaccess文件。例如,如果您有一个缓存插件,它可能会向您的.htaccess文件添加自己的特殊规则,以更有效地提供缓存内容。
除此之外,您还可以将自己的代码片段添加到您网站的 .htaccess 文件中,这样您就可以执行以下操作:
-
- 重定向– 您可以在临时(如307)或永久的基础上设置自动重定向。例如,如果您更改网站的URL,您需要设置301重定向以确保不会损害您的流量或SEO。或者,如果您最近安装了SSL证书,则可以将HTTP重定向到HTTPS。
- 安全性– 您可以限制访问您的全部或部分站点以提高WordPress安全性。例如,您可以将其设置为只有某些列入白名单的IP地址(例如您的IP地址)才能访问您站点的管理区域。或者,您也可以禁止整个站点中的特定IP地址。
- 其他配置调整– 您可以调整服务器的运行方式。例如,您可以增加最大上传大小来修复“uploaded file exceeds the upload_max_filesize directive in php.ini”错误。
如何在WordPress中找到.htaccess文件
如果您使用的Web服务器是Apache,则可以通过FTP或cPanel文件管理器连接到站点的服务器来定位和编辑站点的.htaccess文件。
连接到服务器并能够浏览站点文件后,您可以在站点的根文件夹中找到WordPress站点的.htaccess文件,该文件夹与包含wp-config.php文件和wp-admin和wp-content文件夹:

WordPress站点的.htaccess文件所在的位置
默认情况下,您的站点将只有一个.htaccess文件——位于根文件夹中的文件。
但是,可以在单独的目录中使用多个.htaccess文件,尽管WordPress在其默认状态下不会这样做。
.htaccess文件适用于它所在的目录以及所有子目录,因此您可以将.htaccess文件添加到子目录以添加仅适用于该目录(及其任何子目录)的规则目录)。然而,通常只使用一个.htaccess文件并将所有规则保留在那里更简单。
WordPress站点.htaccess文件示例
默认情况下,您的WordPress站点的.htaccess文件仅包含一个控制站点固定链接功能的规则。这是它应该是什么样子的示例:

WordPress站点默认.htaccess文件的示例
如何将您自己的规则添加到.htaccess
确保在进行任何编辑之前备份您网站的.htaccess文件,因为即使是一个小错误也可能使您的WordPress网站无法访问。
要添加您自己的.htaccess 规则,您需要在现有WordPress站点.htaccess规则的上方或下方添加相关代码片段。
我们将分享一些您可以做什么的示例,但免费的 .htaccess生成器站点提供了一个非常方便的工具来生成执行各种不同操作所需的代码片段。
将所有流量重定向到您网站的HTTPS版本
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
阻止IP地址
order allow,deny
deny from 192.168.1.1
allow from
//Block users by IP order allow,deny deny from 192.168.1.1 allow from
添加密码以访问您网站的一部分
<Files /wp-admin>
AuthName “Prompt”
AuthType Basic
AuthUserFile /wp-admin
Require valid-user
</Files>
//Password Protect file <Files /wp-admin> AuthName "Prompt" AuthType Basic AuthUserFile /wp-admin Require valid-user </Files>
您还需要添加一个单独的.htpasswd文件。
这是添加一些自己的规则后 .htaccess 文件的外观示例……

带有自定义规则的WordPress站点.htaccess文件示例
不使用.htaccess站点服务器:您如何进行更改?
正如我们在上面告诉您的,闪电博网站使用Web服务器是Nginx,而不是Apache。这类Web服务器意味着任何WordPress网站都没有可用的.htaccess文件。
然而,这并不意味着您在重定向、安全规则等方面仍然不能执行类似的操作。 .htaccess文件中的设置和规则可以轻松地“转换”为Nginx自己的重写规则语法。
使用Nginx服务器,同样可以拥有许多重要的 .htaccess 功能。对于其他规则,Nginx还提供了自己的配置文件,您可以在其中类似地设置规则,尽管语法不同。
设置重定向
比如Nginx服务器HTTP流量重定向至HTTPS的规则如下:
listen 80;
server_name domain.com www.domain.com;
return 301 https://domain.com$request_uri; }
server {
listen 80;
server_name domain.com www.domain.com;
return 301 https://domain.com$request_uri; }
阻止特定IP地址
要阻止特定IP地址或者IP段访问您的站点,您在站点Nginx配置文件添加以下规则:
allow 192.168.0.1;
###拒绝某个ip访问
deny 192.168.0.2;
###拒绝123.0.0.1~123.255.255.254这个段的ip
deny 123.0.0.0/8;
###拒绝123.1.0.1~123.1.255.254这个段的ip
deny 123.1.0.0/16;
###拒绝123.1.1.1~123.1.1.254这个段的ip
deny 123.1.1.0/24;
###allow跟deny配置相同,如果需要开放某个IP段,只需要把上面的deny改成allow
###允许某个ip访问 allow 192.168.0.1; ###拒绝某个ip访问 deny 192.168.0.2; ###拒绝123.0.0.1~123.255.255.254这个段的ip deny 123.0.0.0/8; ###拒绝123.1.0.1~123.1.255.254这个段的ip deny 123.1.0.0/16; ###拒绝123.1.1.1~123.1.1.254这个段的ip deny 123.1.1.0/24; ###allow跟deny配置相同,如果需要开放某个IP段,只需要把上面的deny改成allow
密码保护您的网站
要锁定整个站点,通过Nginx的配置规则来实现:
htpasswd是Apache密码生成工具,Nginx支持auth_basic认证,因此我门可以将生成的密码用于Nginx中,输入一行命令即可安装:yum -y install httpd-tools ,参数如下:
-n 不更新passwordfile,直接显示密码
-m 使用MD5加密(默认)
-d 使用CRYPT加密(默认)
-p 使用普通文本格式的密码
-s 使用SHA加密
-b 命令行中一并输入用户名和密码而不是根据提示输入密码,可以看见明文,不需要交互
-D 删除指定的用户
-c 创建passwdfile.如果passwdfile 已经存在,那么它会重新写入并删去原有内容. -n 不更新passwordfile,直接显示密码 -m 使用MD5加密(默认) -d 使用CRYPT加密(默认) -p 使用普通文本格式的密码 -s 使用SHA加密 -b 命令行中一并输入用户名和密码而不是根据提示输入密码,可以看见明文,不需要交互 -D 删除指定的用户
生成密码
cd /home
#生成密码
htpasswd -c ./passwd username
#执行上命令后会要求输入两次密码,./passwd 是在当前目录下创建密码文件passwd ,username即为需要设置的账号
#进入home目录 cd /home #生成密码 htpasswd -c ./passwd username #执行上命令后会要求输入两次密码,./passwd 是在当前目录下创建密码文件passwd ,username即为需要设置的账号
如果你不想安装htpasswd,也可以通过在线htpasswd生成器来完成。
载入配置
接下来在Nginx配置文件中(通常是server段内),加入如下两行,并重载Nginx(service nginx reload)即可生效。
auth_basic_user_file /home/passwd;
auth_basic "Please input password"; #这里是验证时的提示信息 auth_basic_user_file /home/passwd;
问题解决
如果开启auth_basic认证后出现500错误,注意:
- passwd改成nginx对应用户权限,比如您nginx配置的www用户来运行:
chown www:www /home/passwd - 不要放到
/root之类得目录下,请尝试移动到其它公共目录
访问测试
再访问站点,提示需要输入用户名和密码才可以访问,此方法适合不宜公开的站点,比如PHPmyadmin,这样可避免被弱口令扫描,无疑再上了一把锁。
小结
WordPress站点的.htaccess文件是Web服务器Apache使用的基本配置文件。虽然您可以将其用于各种用途,但WordPress用户想要使用的最常见功能是:
- 重定向
- IP地址黑名单/白名单
- 密码保护文件夹
- 等等。
现在大部分自建的服务器使用较新的Web服务器Nginx而不是Apache,这些Web服务器上的WordPress站点没有.htaccess 文件。相反,当然Nginx也可以添加重定向和IP禁止规则,Nginx的配置文件相当于Apache的.htaccess文件。
