首页 文章

上传文件wordpress

提问于
浏览
2

我正在尝试使用 Media > Add New - Option在wordpress上传文件,但是当我点击上传时,我收到以下错误:

无法创建目录wp-content / uploads / 2012/11 . 它的父目录是否可由服务器写入?

我安装了Wordpress 4.3.1 .

谢谢

编辑:我在共享服务器上:host = i686-redhat-linux-gnu和Apache . 我将权限更改为755和777的wp-content / uploads,但是我收到以下错误:

“my_file.jpg”由于错误而无法上传无法创建目录wp-content / uploads / 2012/11 . 它的父目录是否可由服务器写入?

有任何想法吗?

8 回答

  • 3

    您需要为/ uploads /设置文件夹权限,也可能为/ wp-content /设置文件夹权限 .

    通常,两个文件夹都应该是755.您可能必须临时提升/上传/到777并上传图像(这也会强制服务器将文件夹权限和用户更改为正确的设置),但是将其更改回755右键远 .

    使用FTP客户端设置权限最简单 . 见FilezillaFTP Clients « WordPress Codex .

    有关正确的Wordpress权限设置,请参阅Changing File Permissions « WordPress Codex

    来自codex.wordpress:通常,所有文件都应由您的Web服务器上的用户(ftp)帐户拥有,并且应该可由该帐户写入 . 在共享主机上,文件永远不应归Web服务器进程本身所有(有时这是www,或apache,或nobody用户) . 任何需要WordPress写入权限的文件都应该由WordPress使用的用户帐户拥有或由其拥有(可能与服务器帐户不同) . 例如,您可能拥有一个用户帐户,可以让您在服务器上来回传送FTP文件,但您的服务器本身可以使用单独的用户在单独的用户组中运行,例如dhapache或nobody . 如果WordPress作为FTP帐户运行,则该帐户需要具有写访问权限,即成为文件的所有者,或属于具有写访问权限的组 . 在后一种情况下,这意味着权限被设置为比默认更多(例如,775而不是755用于文件夹,664用于代替644) .

  • 1

    ssh并导航到 wp-content 文件夹并输入以下两行:

    sudo chown -R www-data uploads/
    sudo chmod -R 755 uploads/
    

    或者您可以使用静态和完整路径:

    sudo chown -R www-data /var/www/wp-content/uploads/
    sudo chmod -R 755 /var/www/wp-content/uploads/
    

    不要将其更改为权限777,因为这只是不安全

  • 1

    /wp-content/uploads 目录需要您的网络服务器可写 . 假设您在Linux上使用Apache,并且它以用户 apache (更改为您的相应用户)运行,一个快速解决方法是从您的Web根目录运行以下命令 .

    chown -R apache.apache wp-content/uploads
    chmod -R 755 wp-content/uploads
    
  • 0

    上周我遇到了同样的问题 . 在尝试了所有提议的解决方案但没有成功之后,我发现我们在服务器上启用了SElinux . 在我的情况下,也许对于许多其他人,SElinux负责错误消息:

    Unable to create directory wp-content/uploads/2013/04. Is its parent directory writable by the server?
    

    我的解决方案基于这里提出的解决方案:http://doc-ok.org/?tag=selinux,它可能更适合其他人的需求 .

    就我而言,我的wordpress目录位于服务器上的我的主文件夹中,我有ssh访问权限 . 否则你将不得不问你的管理员 .

    无论如何,这是我的解决方案 .

    chgrp -R apache wordpress #change wordpress with your base directory for wp..
    #alternatively, chown the whole directory to apache
    chmod -R 774 wordpress/wp-content #if chown by apache, the permissions can be more restrictive
    

    在我的情况下,不仅必须将文件夹所有权/组所有权更改为apache . 另外,wp-content目录的SElinux标签必须更改为httpd_sys_rw_content_t或httpd_sys_content_t:

    chcon -Rv --type=httpd_sys_content_t wordpress/wp-content
    

    这对我有用 .

    有关SElinux的更多信息可以在以下位置找到:

    wiki.centos.org/HowTos/SELinux

    fedoraproject.org/wiki/SELinux

  • 1

    我遇到了同样的问题,我找到了一个更好的解决方案:

    • 转到cpanel> phpmyadmin

    • 选择数据库

    • 打开wp_options表

    • make sql query SELECT * FROM wp_options WHERE option_name LIKE '%upload_path%'

    • 改变路径

  • 0

    这应该解决它 .

    sudo chown -R www-data:www-data wp-content/uploads
    

    如果没有必要,请不要将权限更改为755 . 如果仍然无效,请尝试:

    chmod -R 755 wp-content/uploads
    
  • 5

    经过数周的头痛,这对我有用

    sudo chown -R apache uploads
    sudo chmod -R 755 uploads
    

    假设你在 wp-content

  • 0

    对于那些偶然发现selinux权限问题的人,以下是我修复它们的步骤 . 我们需要允许以下selinux布尔变量允许使用FTP从wordpress管理控制台安装wordpress插件 . 它们是httpd_can_network_connect和ftpd_full_access . 它们可以被激活

    setsebool ftpd_full_access on

    setsebool httpd_can_network_connect on

    对于用于上传的ftp用户,也应允许写入wp-content文件夹 .

相关问题