Wordpress 共享主机(chrooted SFTP),插件问题

Wordpress 共享主机(chrooted SFTP),插件问题

我有一台服务器(Ubuntu 16.04),不同的用户可以在上面建立自己的 Wordpress 网站。以下是一些信息:

  • Apache 以每个用户的身份使用 mpm-itk 运行。
  • 用户被 chroot 到他们的主目录。
  • 用户不能在其主目录之外使用 PHP。
  • 权限是 apacheuser:apacheuser 以 755 和 644 递归(也尝试过 777)
  • public_html 位于其主目录中。

使用的 sshd-config:

Subsystem       sftp    internal-sftp
    Match Group sftpusers
    ChrootDirectory /home/%u
    ForceCommand internal-sftp
    AllowTCPForwarding no
    X11Forwarding no

用户可以通过 SFTP 上传 WP 文件然后继续前行。

问题出现在更新或删除插件时(添加、激活和停用都正常)。我收到错误 无法完全删除插件 akismet/akismet.php

错误日志中没有任何内容。

无论我在哪里搜索,我都会得到以下几个选项:

  1. 安装 SFTP 更新程序插件并将 FS_METHOD 定义为“ftpsockets”。这可行,但我想避免这种情况,以保持安装干净并让用户满意。我实际上只管理服务器,而不是 WP 站点本身,强迫所有用户安装插件看起来不太好。
  2. Libssl/php-ssl。我收到了登录提示,但尝试时失败了。
  3. SSH 密钥。我想我已经尝试了那里的每一个指南。SSH 会话立即断开。遇到了和这个人一样的问题Wordpress SFTP 自动更新问题 这也会让用户感到困惑。它还必须适用于多个 PHP 版本 (FPM)。
  4. 在 wp-config.php 中将 FS_METHOD 定义为“direct”。对我来说不起作用,与原始错误相同。

有人知道我该怎么做才能解决这个问题吗?如果您需要任何信息,请告诉我。

谢谢!

答案1

这已经解决了。

原来是 PHP 的 unlink() 函数被 php.ini 中的 disable_functions 禁用了。从那里删除它,现在一切正常。

相关内容