1. 首页
  2.  » 
  3. 文档
  4.  » 
  5. LP Translate
  6.  » 
  7. 文件系统访问

文件系统访问

通过 LP Translate 操作磁盘上的文件

与存在于数据库中的博客文章不同,WordPress 从服务器磁盘上的常规文件中读取翻译。因此,创建更新和删除翻译文件需要 LP Translate 可以通过网络服务器“写入磁盘”。

在 LP Translate 中有两种写入磁盘的方法:直接远程

1. 直接文件系统访问

如果可以, LP Translate 将始终直接写入磁盘。这意味着通过 PHP 操作文件的方式与 WordPress 的其他部分完全相同。如果 PHP 没有权限,您将通过 我们用户界面收到警告。

有很多关于 WordPress 文件权限的信息,我们不会在这里重复。我们建议您阅读 WordPress 自己关于 更改文件权限 的文章并注意 安全风险

简而言之,这些是 我们在更新翻译文件时需要执行的写操作:

  • 创建
    如果文件不存在,我们将不得不创建它。这意味着需要对包含目录的写权限。
  • 修改
    当覆盖现有文件时,我们需要写入文件本身的权限。请注意,启用备份后,我们还需要创建新文件以保存修订。
  • 删除
    我们绝不会删除文件,除非您要求它,但修剪旧备份除外。删除文件需要与创建相同的目录权限,因为您正在修改目录的内容,而不是文件。

请不要问我们您需要什么文件权限或如何设置它们。您需要的确切权限将取决于我们不知道且可能超出您控制的许多因素。此外,我们无法参与您服务器的安全。如果您在文件权限方面遇到困难,请向您的 IT 部门或托管服务提供商寻求帮助。

2. 远程文件系统访问

如果特定写入操作无法直接访问文件系统,我们将提示您输入远程文件系统凭据(FTP、SFTP 或 SSH)。这与 WordPress 自己的插件和主题安装过程完全相同。在运行更新或安装新组件之前,您可能已经看到此屏幕:

图片

每次 我们需要它们时,您都必须输入这些详细信息,除非您将它们保存在 WordPress 配置 中,或者将它们暂时保存在 我们自己的 会话持久性 选项中。请注意,如果可以避免,我们根本不建议保存您的凭据,并且我们不建议通过网络提交密码,除非您的站点使用 SSL 进行保护

远程连接功能专为已为 WordPress 后台更新设置文件系统凭据的用户设计。我们不建议使用此方法,除非您已采取措施确保其安全。

请不要要求我们帮助您访问远程服务器。仅当您了解安全风险并拥有所需的访问凭据时才使用这些功能。如果您有任何疑问,请向您的托管服务提供商寻求建议。

安全和最佳实践

您可能想知道上述哪种方法最安全。答案是它们都可能以不同的方式不安全,具体取决于您的服务器和 WordPress 的设置方式。如果您不是服务器安全方面的专家,请向您的网络托管服务提供商咨询有关提供对翻译文件所在位置的写入访问权限的最安全方式的建议。

最重要的是,您不需要有一个可写的文件系统来简单地显示翻译 – 只需更新它们。运行 LP Translate 的最安全方式是在私有开发服务器上。然后只需将只读 MO 文件上传到需要它们的站点。

已安装的文件和 WordPress 更新

无论您使用哪种方法修改文件,请注意某些文件也可以通过 WordPress 更新进行修改。了解这一点对于确保您的翻译不会在您不知情的情况下被删除至关重要。如果您启用了自动更新,这一点尤其重要。

请勿编辑已安装的翻译文件

推荐的方法是覆盖您自己的自定义文件中的翻译。这些应该保存在一个安全的位置,它们不会被 WordPress 删除。

LP Translate 将 WordPress 在更新期间可以修改的文件系统的任何部分视为“已安装”,即使您自己将文件保存在那里。请注意,这不仅适用于主题和插件目录。以下所有路径都被认为是“不安全的”,可用于保存您想要保留的任何内容。

  • wp-content/themes
  • wp-content/plugins
  • wp-content/languages †
  • wp-content/languages/themes
  • wp-content/languages/plugins

† 语言文件夹的其他子目录是安全的。您会注意到 我们的自定义文件夹位于wp-content/languages/loco.

插件的设置有选项来控制如何疯子翻译保护这些地点。如果您知道自己在做什么,您可能想禁用警告,但如果您想格外小心,您可以阻止对这些位置的任何写操作。

不允许的文件修改

您可能会看到消息“您的 WordPress 配置不允许修改文件”。这意味着您的 WordPress 站点已明确阻止对特定文件的写访问。这可能是故意的,因此我们建议在尝试规避他们之前与您的托管服务提供商讨论该问题安防措施。

LP Translate 尊重从 wp_is_file_mod_allowed WordPress 函数返回的结果。这反过来尊重DISALLOW_FILE_MODS配置,但您的情况可能更复杂。我们无法提供有关如何设置您的网站的具体建议。

您可以使用 file_mod_allowed WordPress 过滤器修改此行为,但要格外小心,因为解除重要文件保护可能会导致更大的问题。

更好的解决方案可能是更改文件更新的上下文以创建例外。LP Translatewp_is_file_mod_allowed在尝试更新已安装的翻译文件 ( "download_language_pack")时使用与 WordPress 相同的上下文调用。可以使用 filter 修改该上下文loco_file_mod_allowed_context

该文章对您有帮助吗?

需要什么帮助?

加入 LitePress 手册资源 ,参与知识分享与交流
登录 注册 进行评论
立即加入