如何使用 SFTP 管理 WordPress 上的文件
已发表: 2020-09-18如果您是开发人员,那么您无疑会非常熟悉使用 SFTP。 然而,对于我们这些偶尔管理 WordPress 网站的人来说,仅仅提到使用 SFTP 对我们的 WordPress 网站进行更改就足以让您感到恐惧! 不要害怕。 在本文中,我们将研究如何使用 SFTP 来管理您的 WordPress 网站上的文件,并提供一些示例说明这在什么情况下可能很有用,尤其是在解决诸如错误消息甚至意味着您已经被拒绝访问您的 WordPress 管理员。
WordPress 如此受欢迎的众多原因之一是它在非技术型个人中的可用性。 换句话说,您不需要知道如何编写代码就可以使用 WordPress 构建一个漂亮的网站。 WordPress 提供的 GUI(或图形用户界面)意味着即使是 IT 经验有限的人通常也可以相当快地掌握构建或编辑 WordPress 网站的窍门。
然而,有些工作需要您直接编辑构成 WordPress 网站的基础文件(其中通常有数千个)。 这可以通过 WordPress 管理员以有限的方式完成,但在大多数情况下,您需要访问您的网络主机服务器上保存的文件。 这是使用称为 SFTP 客户端的 FileZilla 或 WinSCP 等工具完成的。 这是因为他们使用称为 SFTP 的协议与您的 Web 服务器进行通信,这样您就可以安全地传输或更新此服务器上的文件。
让我们更详细地了解一下 SFTP 是什么,您可能需要使用它的原因以及如何使用 SFTP 来管理您的 WordPress 网站上的文件。
什么是 SFTP?
为了了解 SFTP 是什么,我们需要看一下它的前身……FTP。
FTP(或文件传输协议)是建立在客户端-服务器架构上的标准网络协议,用于在 Internet 上的 FTP 主机或服务器与 FTP 客户端(计算机/用户)之间传输文件。
FTP 于 1971 年首次开发,并且在今天的某些情况下仍在使用。 它允许文件在计算机和服务器之间直接传输。 重要的是,使用 FTP 传输的所有信息通常都是未加密的。 这意味着任何人都可以拦截这种传输,这是一个重大的安全风险。
SFTP 提供了 FTP 的逻辑继任者。 它代表安全文件传输协议,并克服了 FTP 的主要弱点之一(即缺乏加密)。 它是 SSH 协议的扩展,使用户能够使用普通的 SSH 端口安全地连接到远程服务器。 这提供了许多优点:
- 安全:通过 SFTP 连接传输的数据是加密的。 这意味着任何被第三方截获的数据都是不可读的。
- 增加数据传输:可以提供有关通过 SFTP 传输的文件的更多信息。 例如,用户能够准确访问日期、时间、大小、权限等元数据,而某些 FTP 服务器,尤其是较旧的服务器,可能无法正确读取这些信息(这可能导致数据异常作为本地文件的元数据与服务器上的不匹配)。
- 防火墙友好:SFTP 是防火墙友好的,因为它通过单个连接交换数据。 它不像 FTP 那样使用单独的通道,因此不会像 FTP 连接那样强制服务器管理员打开一系列端口。
如何通过 SFTP 访问我的 WordPress 网站?
为了通过 SFTP 协议连接到您的 WordPress 网站,您需要:
- 与您的操作系统兼容的 SFTP 客户端,允许用户(客户端)安全地连接到远程服务器
- 您要连接的服务器的 SFTP 凭据。 这些将包括主机名、用户名、密码和端口。
连接到 SFTP 服务器的确切方法因网络托管服务提供商而异。 用户想要做的事情很常见,任何网络主机都应该能够为您提供有关如何通过 SFTP 访问其服务器的全面说明。
我应该使用什么 SFTP 客户端?
有几个很棒的 SFTP 客户端可供您选择。 作为奖励,其中许多都可以免费使用! 我们最喜欢的 Windows 用户之一是 WinSCP。 除了支持 SFTP(正如您所期望的那样!),它还支持许多其他协议,并拥有用户友好的功能,例如将传输恢复捆绑到一个易于使用的界面中。
WinSCP 的一个流行替代品是 Filezilla,它与 Windows、Linux 和 Mac OSX 兼容。 它易于使用,提供多种语言版本,并支持大文件的恢复和传输。
为什么在管理我的 WordPress 网站时需要使用 SFTP?
使用 SFTP 管理 WordPress 网站的原因有很多。 我们将在下面列出一些。
故障排除
当您尝试解决问题时,通过 SFTP 访问您的 WordPress 站点可能非常重要。
更改文件权限
文件权限决定了允许用户访问的类型。 在安装 WordPress 后立即设置正确的权限非常重要,否则您可能会遇到致命错误或遇到空白白屏,甚至将您的网站暴露给恶意活动。
但是,文件权限可能会“中断”(有时没有明显的原因),当这种情况发生时,您需要能够使用 SFTP 在您的服务器上重置它们。 发生这种情况的最常见迹象是当您尝试访问您网站上的 URL 或被拒绝将文件上传到您的媒体库时收到“403 禁止错误”。
出现此类问题的原因有很多。 一个常见的罪魁祸首通常是插件更改了它访问的文件的权限,因此禁用任何最近安装(或更新)的插件可能是一个很好的起点。
如果您使用 WinSCP 作为您的 SFTP 客户端,您可以通过右键单击文件或文件夹然后前往“属性”菜单来更改文件或文件夹的文件权限。
您将看到已勾选(或未勾选)并可以相应更新的文件权限列表。
修复“暂时无法进行定期维护。 请稍后再回来查看”消息
任何在其 WordPress 网站上更新了主题或插件并尝试在此更新期间查看该网站的人都会看到“暂时无法进行定期维护。 请稍后再回来查看”消息。
此消息应该是临时的,并在插件或主题更新完成时自动删除(除非正在使用维护插件来强制显示此消息)。 在此类更新期间,会在您网站的根文件夹中创建一个临时.maintenance文件,并将网站的实时模式更改为“维护模式”。 此文件通常会在更新完成几秒钟后被删除
但是,偶尔会在更新完成后继续显示此消息(这当然很烦人!)。 这可能是由于服务器响应缓慢、内存问题或请求超时。 在这些情况下, .maintenance文件不会像正常情况下那样被自动删除。
要解决此问题,您可以通过 SFTP 访问根文件夹并删除 .maintenance 文件。 希望这意味着您的网站现在可以正常运行。
注意:与往常一样,在您的 WordPress 网站上进行任何工作之前,您应该尽可能进行备份。
您网站上的严重错误
可以理解,看到您的 WordPress 网站上显示的“您网站上的严重错误”消息必然会提高您的血压,尤其是因为此错误有时会阻止您访问管理区域(甚至是网站的前端)。
在这些情况下,罪魁祸首通常是插件或主题/插件与自定义代码之间的冲突。
解决此问题的第一步是恢复对 WordPress 管理员的访问权限。 这就是使用 SFTP 非常有用的地方。 为此,请按照下列步骤操作:
- 通过 SFTP 登录到您的站点服务器并前往根文件夹,您应该会在其中看到一个名为“logs”的文件夹。 如果无法访问,请与您的托管服务提供商联系。 在这些日志中,您会找到一个文本文档,该文档可以提供有关您网站的哪个元素导致严重错误的线索。
- 例如,您可能会在这些日志中看到如下所示的错误消息:
“出现错误 'PHP 消息:PHP 致命错误:未捕获的错误:在 /******-www/wp-content/plugins/woocommerce-subscriptions/woocommerce-subscriptions.php:73\nStack 中找不到类 'WC_Subscriptions_Admin'跟踪:\n#0 “
这为我们指明了 WooCommerce 订阅插件的方向 - 现在我们已经确定了我们需要禁用插件的严重错误的可能嫌疑人。 您可以通过重命名文件夹来做到这一点。 您可以将其更改为“woocommerce-subscriptions.disabled”之类的内容。
- 现在,尝试登录您的 WordPress 管理员。 如果可以,那么您已经解决了问题(部分)。 现在剩下要做的就是对有问题的插件进行故障排除。
- 如果您无法从 WordPress 日志中确定哪个插件可能导致问题(或者您无权访问这些日志),您可以尝试禁用所有插件。 为此,将主“plugins”文件夹重命名为“plugins.disabled”。 如果您现在可以访问 WP 管理员,您就知道问题出在插件上。 此时,您需要将插件文件夹的名称改回“插件”,然后通过重命名每个插件一个一个地禁用它们,直到找到罪魁祸首。
如果禁用您的插件并不能解决“严重错误”问题,那么值得看看是否是您的主题是罪魁祸首。 执行此操作的方法与使用插件的方法基本完全相同。
- 通过 SFTP 登录到您的服务器并导航到名为“wp-content”的文件夹。 在此文件夹中,您将看到一个名为“主题”的文件夹。 打开它,您将看到当前加载的所有主题。
- 正如我们对插件所做的那样,重命名您的活动主题以禁用它。 这可能意味着将其从“salient”(例如)更改为“salient.disabled”。
- WordPress 应该会自动更改为默认主题,然后您可以查看您现在是否可以访问您的管理面板(并且严重警告消失)。 如果是这样,您现在将知道问题出在您的主题上,或者与您的主题和插件冲突。
配置文件问题
您可能会不时遇到某些问题,这些问题只能通过编辑 WordPress 配置文件(或 wp-config.php)来解决。 当您的 WordPress 站点无法建立数据库连接时,就会出现此类问题。 发生这种情况时,您会看到如下警告:
如果您遇到这种情况,您可以检查您的数据库用户名和密码是否正确保存在 wp-config.php 文件中。 使用您的 SFTP 客户端打开此文件,您应该会看到如下内容:
您需要知道您的数据库用户名和密码是什么才能检查/更新此文件。 您的 WordPress 主机应该能够为您提供帮助。
开发工作
SFTP 客户端是网站开发人员经常使用的工具,因为它使他们可以直接访问构成网站的文件(并在这样做时完全控制对这些文件进行所需的任何更改)。 开发人员承担的常见任务包括:
- 编辑 functions.php 文件以创建自定义函数、添加挂钩/操作、注册或忽略某些脚本。
- 为 WordPress 创建自定义模板
- 用子主题覆盖 WordPress 主题模板
- 通过编辑其 CSS 文件自定义网站的样式
- 使用自定义插件
SFTP 的其他用途
SFTP 的一个常见用途是通过在线文件传输服务传输您不想移动的大文件(例如敏感/私人文档)。 SFTP 也非常适合将不同的文件添加到您的 Web 服务器以通过您的网站使用。 这可能包括用于为您的网站生成非标准字体的 PDF 或字体文件。
概括
学习如何通过 SFTP 访问您的 WordPress 网站以直接管理您的 WordPress 文件是一项有用的技能,可供您使用。 对于任何认真维护和开发网站的人来说,SFTP 客户端和对如何使用它的深刻理解是他们工具包的重要组成部分。
如果您从未通过 SFTP 访问过您的网站,那么您可以真正大开眼界,看看有多少文件组成了您的 WordPress 网站。 在浏览 WordPress 上的论坛时,熟悉您网站的底层结构可能会导致几个“啊哈”时刻。