在Windows Server 2016中,WordPress无法创建wp-content目录

9

我无法使用WordPress管理面板中的媒体工具上传图片到我的WordPress网站。我收到以下错误信息:

“logo512x512.png”上传失败。 无法创建目录wp-content/uploads/2020/01。它的父目录是否对服务器可写?

我已经尝试了很多解决方案,但没有一个对我有效。我使用的是安装有MySQL数据库的Windows 2016服务器机器,没有PhP管理员或Cpanel。

我的FTP正在工作,我能够轻松地获取主题和插件。你有什么建议吗?


3
您尝试过哪些解决方案?这将有助于我们及时提供更多的解决方案。例如:如果您无法创建wp-content目录,那么您是如何使位于“wp-content/themes”和“wp-content/plugins”的主题和插件文件夹正常工作的? - Aliqua
1
我投票关闭此问题,因为它是特定于WordPress的,并且可能更适合在wordpress.stackexchange.com上讨论。 - David Makogon
你是如何确定这个问题与MySQL有关的? - Mathieu de Lorimier
3个回答

5

我曾遇到一个类似的问题,我在Google Cloud Engine实例上使用Ubuntu和Apache,没有cPanel,没有phpMyAdmin和FTP。我是这样解决的:

1. 在wp-config.php中定义上传文件夹

用nano或vim打开wp-config.php并添加以下代码:

define( 'UPLOADS', 'wp-content/uploads' );

在这一行之前:

require_once(ABSPATH . 'wp-settings.php');

并将其保存。

2. 更改所有者

切换到 wp-content 目录。在我的情况下(使用您自己的路径):

cd /var/www/html/wp-content

接下来,将所有权更改为 www-data

chown -R www-data:www-data plugins

为什么是www-data?在我的情况下,它是运行在我的服务器上的Apache服务账户的名称。您可以使用以下命令检查名称:

ps aux | egrep '(apache|httpd)'

该命令会返回类似以下内容:

那个命令返回一些像这样的东西:

www-data  5441  0.0  5.8 566184 34896 ?        S    06:34   0:00 /usr/sbin/apache2 -k start
www-data  7753  0.0  5.9 566248 35512 ?        S    09:00   0:00 /usr/sbin/apache2 -k start
www-data  9840  0.0  5.7 566160 34320 ?        S    11:21   0:00 /usr/sbin/apache2 -k start
www-data 21068  0.0  6.2 564032 37192 ?        S    18:22   0:00 /usr/sbin/apache2 -k start
www-data 21069  0.0  6.0 563692 35636 ?        S    18:22   0:00 /usr/sbin/apache2 -k start
root     21455  0.0  0.1  13208  1036 pts/1    S+   18:44   0:00 grep -E --color=auto (apache|httpd)
root     31982  0.0  1.1 485904  6872 ?        Ss   Jan03   0:18 /usr/sbin/apache2 -k start

从上面可以看到,涉及到root和www-data。也许在Windows Server中,帐号会不同(tasklist?pslist?),我不知道如何获取它(我从未使用过Windows Server,抱歉)。我希望www-data对您有用。

最后,请确保uploads文件夹拥有正确的权限。

chmod 755 -R uploads

3. 授予该用户使用WordPress的权限

将WordPress文件放置在html或public_html文件夹中(在我的情况下是/var/www/html,请根据您自己的路径进行更改)

chown -R www-data /var/www/html

完成了。我希望这个小指南对你有所帮助,或者至少给你解决问题的思路!


您的命令不是很熟悉。我的环境是Windows服务器。 - Jose Enrique Calderon
1
问题不是问的Windows Server吗?这怎么可能是最佳答案呢? - Manuel Fedele
我知道你在询问Windows服务器的问题。但是,我希望阅读这些步骤可以让你了解如何在WS中解决它的方法或想法。我不知道,例如“啊,好的,你改变了wp-content的所有者”,并使用bash命令执行它。 如果你期望一个复制粘贴的配方,我很抱歉。 - Patricio Villarroel

3

可能的一个问题是您在文件夹wp-contentchmod设置。您可能需要更改wp-content或其父目录的chmod,以允许在该目录内创建任何文件夹/文件和子文件夹/文件。

根据您使用的Windows应用程序来设置chmod会确定如何进行此过程。我使用FileZilla,您可以简单地 -

右键单击wp-content,选择文件属性,并设置数字值:755

FileZilla set cdmod

另外,您是否考虑使用像XAMPP这样的第三方Web服务器?


感谢您的贡献。但是,我不使用也不允许安装filemozzila。我只能使用Windows服务器管理工具。 - Jose Enrique Calderon
也许你可以在 superuser.com 上问问?我相信他们是这个社区的分支,涉及微软相关的问题。祝你好运! - Aliqua

0

好友们谈到如何在目录上设置权限...... 但是在Windows上与Linux有所不同,我建议将WP-content(仅此文件夹)设置为chmod 0777,以及当前上传文件夹(2020年)也设置为chmod 0777。那应该就可以了。即使你看到建议总是放置0755,我建议你特别留在这些文件夹中。

在进行任何更改之前备份,我相信这会帮助您管理上传

一个很好的替代方案是每个月WordPress会创建一个新的文件夹,然后您将文件夹权限更改为根据月份结束的0755,这样有助于提高安全问题的信心


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