WordPress本地主机FTP

48

我在我的Mac Lion本地主机上运行了WordPress。

每次尝试安装或删除插件时,它都会要求输入主机名、FTP用户名和FTP密码。

我已将我的本地主机配置为127.0.0.1,但我从未为我的本地主机配置过FTP用户名和密码。如何获取默认的用户和密码?

我已经尝试了几乎所有在MySQL、我的OSX管理员等中拥有的用户和密码,但没有结果。

有任何想法吗?


1
它应该在本地主机上运行。检查目录权限。 - alexn
1
是的,但我的ftp用户名和密码是什么?我从未在任何字段上设置过它:S - user1617218
就像alexn所说的那样。只需确保您的文件权限至少为755,它就不会再要求您进行权限设置了。或者更好的方法是,直接下载插件并将其放置在插件文件夹中。此外,请确保在http.conf文件中正确设置localhost作为虚拟主机。 - ckaufman
你考虑过谷歌搜索“mac os x ftp默认密码”吗?或者“mac os x配置ftp”?这两个查询都可能有助于找到你需要的内容。 - Pekka
1
更改WordPress目录的权限,并在wp-config.php中添加define('FS_METHOD', 'direct'); - Indra
6个回答

72

更新:如评论中的 Chaudhry Waqas 所提到的,只需在 wp-config.php 中添加 define('FS_METHOD', 'direct'); 即可,因此请先尝试这个方法,如果不必要最好不更改访问权限以确保安全。

警告:仅在本地计算机上执行此操作,在公共安装中这是巨大的安全风险!

我没有尝试过,但正如 @misterfancypants 的评论所提到的,仅为 wp-content/plugins/ 更改这些设置应该就足够了。
更新:已经包含这个信息。

这个方法对我有效。

$ cd /Users/<username>/Sites
# (wordpress = name of the directory, change as needed)
$ sudo chown -R :_www wordpress
$ sudo chmod -R g+w wordpress

然后在wp-config.php文件中添加以下内容

define('FS_METHOD', 'direct');

http://soderlind.no/running-wordpress-locally-on-mac-os-x-lion/#crayon-533a956214a8e343167867找到。

Cheers Can


在我的 Mac 上,当 WP 在尝试更新插件时开始抱怨 FTP 凭据时,这对我很有效。 - RAC
5
这绝对是最简单的解决方案。如果有人感到困惑,请确保将“wordpress”替换为您的WordPress目录名称。sudo chown -R :_www [您的目录名称] - Alan L.
1
这里需要提醒一下:chown和chmod命令的作用范围太广了。这会改变整个WP安装的组和组权限。你应该只在wp-content/plugins/目录上更改权限(然后快速地将其改回来)。这在本地环境中可能还好,但在远程服务器上绝对不推荐这样做。 - majorobot
@misterfancypants 你说得完全正确,根据问题的描述我假设这只是针对个人计算机/安装的,我会在我的回答中添加一条警告,感谢你的提示! - Can Rau
1
在配置文件中添加define('FS_METHOD', 'direct');对我有效。 - StealthTrails
显示剩余2条评论

20

我通过以下方式解决了这个问题:

cd /var/www
sudo chown -R www-data:www-data wordpress

更新于03-05-2019

cd /var/www
sudo chown -R www-data:www-data [YOUR_WORDPRESS_PROJECT_DIR]

3
对我有用,但在我的操作系统(Ubuntu)上,我将你列出的第二个命令中的“wordpress”改为“html”。 - andydavies
WordPress在这里只是一个占位符,应该被您的应用程序根目录所替换。 - kuldipem
3
与其这样,正如@Can建议的那样,在wp-config.php文件中使用 define('FS_METHOD', 'direct'); 。比修改权限更安全。 - FooBar

17

将以下内容添加到您的config.php文件中:

define('FS_METHOD','direct');

17

实际上,问题在于WordPress会创建一个临时文件来检查文件权限,并将该临时文件的所有者与其核心文件的所有者(参见fileowner())进行比较两者应该匹配。在大多数情况下,在本地主机上它们并不匹配,因此我们以不同用户访问并提取了wp文件,而PHP有自己的用户组。

所以有两种方法来解决这个问题。

方法1:

cd wordpress
sudo find . -type d -exec chmod 0755 {} \;
sudo find . -type f -exec chmod 0644 {} \;

和以下

define( 'FS_METHOD', 'direct' );

在wp-config.php中

这不会检查任何文件所有者,只是直接使用文件系统

方式2

设置

sudo chown -R www-data:www-data wordpress

这将把WordPress都设置为使用www-data,实际上,由WordPress创建的临时文件也位于此用户内,因此两个文件所有者相同,问题得到解决。

更多信息请参见:https://developer.wordpress.org/reference/functions/get_filesystem_method/


7
根据我的经验,WordPress在自我更新时可能会对权限和所有权有些挑剔,因此使用FTP到本地主机是一个完全有效的策略。但正如其他人所说,只需确保从WordPress根目录向下的所有内容都可由PHP进程编写,并且由相同的用户拥有,这可能足以避免需要FTP。
如果您确实想使用FTP,您确定已启用FTP服务器吗?如果是这样,您应该使用具有通过FTP访问目录权限的用户(您可以使用命令行ftp工具进行测试)。由于我的站点设置在个人Sites目录中,因此我只使用我的普通用户名和密码(例如,对于/Users/matt/Sites/whatever,我登录为matt)。
其他要检查的事项:如果您尝试在命令行上输入ftp localhost会发生什么?您能在那里登录吗?

5

编辑 wp-config.php 文件并添加下面提到的代码:

define('FS_METHOD','direct');

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接