4

我一直在寻找几天来试图找出解决这个问题的方法,但我已经放弃了,是时候寻求帮助了。

我在 Ubuntu 14.04 x64 上运行 Wordpress,使用使用PuPHPet创建的 Vagrant 服务器(一个自动 GUI,用于为那些不知道的人创建带有 Vagrant、Puppet 和 Hiera 的框)。我使用 Mark Jaquith 的 WP-Skeleton Wordpress 文件夹设置,并设置了两个共享文件夹;/var/www/wp(主机上的站点名称/www/wp)用于 Wordpress 核心文件,/var/www/content/(主机上的站点名称/www/content)用于自定义内容目录,这是 WP 的目的-骨骼。

当 SSH 进入 VM 并运行 WP-CLI 时,只要 WP-CLI 知道我的内容目录的路径和 Wordpress 核心文件,一切似乎都可以正常工作。问题是在尝试安装插件或主题时,如下所示 -

[07:20 PM]-[vagrant@packer-virtualbox-iso-1422601639]-[/var/www]-[git master] $ wp plugin install jetpack Installing Jetpack by WordPress.com (3.3.2) Downloading install package from https://downloads.wordpress.org/plugin/jetpack.3.3.2.zip... Unpacking the package... Warning: Could not create directory.

我的第一个也是迄今为止唯一的想法是这是一个权限错误,但是由于我对这方面的知识有限,我只能做这么多,但是,我可以说我已经尝试过更改权限使用 chmod -v 755 /var/www/content/ 将内容目录改为 755,然后是 765,甚至是 777。

即使权限设置为 777,这也不起作用。那么还有什么问题呢?我知道这可能与 www-data 的权限有关,但就像我说的,我对查找或更改的内容知之甚少。我确信这很简单,而且我确信这与 WP-CLI 没有直接关系,因为我有一种感觉,如果我使用任何其他 Web 应用程序尝试安装到我拥有的 www 文件夹中同样的问题。

如果有人需要我提供任何信息,我会将其包括在内,例如我的 congif.yaml 文件(当将 Hiera 与 Puppet 一起使用时,该文件会存储通常在 Vagranfile 中的所有信息,并自动安装 Puppet 模块)。它还包括有关 Ubuntu 框、文件夹设置等的信息。

提前致谢, PJ

更新:

我想补充一点,sudo wp plugin install jetpack --allow-root当我使用 WP-CLI 时,添加会起作用,但是,如果我是 root 用户,我不应该使用 sudo,对吗?

4

3 回答 3

5

我在这里找到了一个答案,使它可以在我的本地 MBP OSX 服务器上运行。添加define('FS_METHOD','direct');wp-config.php.

确保所有文件和文件夹都是775(还没有减少权限,但我肯定 less 是可行的 - 即664文件 - 在本地也是如此)并且所有文件和文件夹都归your user和 group所有_www。在项目文件夹中运行:

sudo chown user:_www  *
sudo chmod -R 775 *

这应该允许您运行 wpcli 并创建目录而不会出现问题且无需使用root.

NB _www适用于 OSX Apache 用户组。对于 Ubuntu,您需要www-data

NBB在此处运行 Mod PHP,755为目录和644文件使用(快速)CGI(共享)托管设置通常效果很好。

于 2015-03-16T16:27:38.873 回答
1

也许您必须在 config.php 文件中定义内容目录的位置。根据您的服务器配置,尝试添加以下两行代码之一:

define('WP_CONTENT_DIR', realpath(dirname(__FILE__) . '/content'));

或者

define('WP_CONTENT_DIR', realpath($_SERVER['DOCUMENT_ROOT'] . '/content'));

尝试第一个,如果它不起作用,请尝试第二个。我在配置 wp-deploy 时发现了同样的错误,这对我有用。

于 2015-03-12T18:28:38.930 回答
0

对我来说,我所要做的就是sudo chmod -R 775 wp-content。所有者没有影响我的插件更新,我不必进行任何其他更改。

关于@helgatheviking 所说的“强化”...如果您担心安全性并希望尽可能安全,请将其更改回 755!我想说这是一件好事,只要您不介意在每次 WP-CLI 插件更新时更改权限。

于 2018-09-21T20:47:10.440 回答