【问题标题】:"Unable to create directory wp-content/uploads" in wordpress?“无法在 wordpress 中创建目录 wp-content/uploads”?
【发布时间】:2014-03-14 17:11:37
【问题描述】:

我在尝试将图像文件上传到我的 wordpress 时遇到了这个问题。我在 Mac OSX Mavericks 上使用 XAMPP。我还升级到了最新的 wordpress 版本(3.8.1)。我已经尝试了 ff 方法来解决这个问题:

  • 方法一:我在wp-config.php中添加了ff代码

    define('UPLOADS', '/migsmarbella.com/wp-content/uploads'); 定义('WP_CONTENT_URL', 'http://migsmarbella.com/wp-content');

“migsmarbella.com”是我的 wordpress 文件夹的名称。

  • 方法 2: 使用终端实用程序 CHMOD 特定文件夹“migsmarbella.com”

    sudo chown -R nobody:staff /applications/xampp/xamppfiles/htdocs/migsmarbella.com

  • 方法 3: 我还检查了“migsmarbella.com/wp-content”文件夹的权限设置(右键单击然后“获取信息”),其中指出“用户”可以阅读和写文件,而“staff”和“everyone”只能读文件。

  • 方法 4:我取消选中“将我的上传内容整理到基于月份和年份的文件夹中”复选框,然后将设置更改保存在“设置”>“媒体”中。

    李>

有没有更好的方法?请帮忙。谢谢。

P.S. 方法 2 不起作用,尤其是因为它限制了我的权限设置,我必须通过将“nobody”更改为我的 mac 用户名来撤消我所做的命令。

补充: 似乎整个更改权限设置变得越来越令人困惑。你们能给我第一步,在MAC中更改文件夹权限设置的确切方法吗?我尝试使用 Filezilla,但我找不到 chmod 文件夹的命令,至少在 Mac 版本中是这样。

【问题讨论】:

    标签: wordpress xampp file-permissions chmod


    【解决方案1】:

    从您的代码中,您无需像 migsmarbella.com 那样定义您网站的路径它会自动获取您相应的站点路径,您甚至没有放置包含您的站点 url 的路径。 您定义路径的代码不正确

    define('UPLOADS', '/migsmarbella.com/wp-content/uploads'); 
    define('WP_CONTENT_URL', 'http://migsmarbella.com/wp-content');
    

    正确的方法如下。

    打开位于 WordPress 安装根目录下的 wp-config.php 文件,并添加以下代码

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

    法典规定应将其添加到 require_once(ABSPATH.’wp-settings.php’); 行之前。

    如果您定义的目录尚不存在,只要 wp-content 是可写的,WordPress 就会自动创建它。否则,您可以通过 FTP 自己进入并创建目录。确保使新目录可写。 更改上传组织

    您还可以更改 WordPress 上传的组织方式。导航到仪表板中的“设置”>“媒体”,您将找到选中或取消选中“将我的上传文件组织到基于月份和年份的文件夹”旁边的框的选项。

    【讨论】:

    • 我尝试了你的建议,但现在我无法访问 wordpress。我在您提到的行之前添加了正确的代码,这就是现在发生的情况:“解析错误:语法错误,/Applications/XAMPP/xamppfiles/htdocs/migsmarbella.com/wp-config 中的意外'require_once'(T_REQUIRE_ONCE) .php 在第 92 行"
    • 对不起。我忘了在代码后面加分号,这就是为什么它是一个解析错误。但是wordpress仍然无法创建上传目录。我越来越糊涂了。
    【解决方案2】:

    你在做chown时给出的路径无效。路径区分大小写。

    请注意 chmod 和 chown 之间的区别。

    路径应该是 /Applications/XAMPP/xamppfiles/htdocs/migsmarbella.com

    在终端中运行以下命令:

    mkdir /Applications/XAMPP/xamppfiles/htdocs/migsmarblla.com/wp-content/uploads
    sudo chown -R nobody:staff /Applications/XAMPP/xamppfiles/htdocs/migsmarblla.com/wp-content/uploads
    

    第一个创建一个上传文件夹,因为该文件夹尚不存在。

    第二个更改其所有权,因此可以创建文件夹并由 WP 添加文件。当您修改文件时,更改整个安装的所有权将导致问题。这只会将更改应用于上传目录。

    【讨论】:

    • 我执行了第一个命令,这就像只是通过终端实时创建一个文件夹。我想更改 wp-content 文件夹的权限设置。从哪里着手?
    • 没错。这就是应该发生的事情。我回答的最后一行解释了为什么这是计划。如果要更改整个 wp-content 文件夹,只需从第二个命令的末尾删除上传。
    【解决方案3】:

    首先我使用 XAMPP for OS X 1.8.2-5 运行 apache、mysql 和 ftp 服务,还有新的 wordpress 4.0,所以我将它添加到我的 wp-config.php:

    define('FTP_HOST', 'localhost');
    define('FTP_USER', 'daemon'); /* check the user at XAMPP_dir/xamppfiles/etc/proftpd.conf */
    define('FTP_PASS', 'xampp'); /* also the password is at XAMPP_dir/xamppfiles/etc/proftpd.conf */
    define('FS_METHOD', 'ftpsockets');
    define('FTP_BASE', '/XAMPP_dir/xamppfiles/htdocs/wordpress'); /* check/mod your path */
    

    还有所有权,希望对你有帮助

    【讨论】:

      【解决方案4】:

      在尝试了一切之后,我找到了解决它的方法,即获取服务器的实际用户名。我为此写了一个小 php 脚本:

      <?php
      echo '<pre>';
      
      $user = system('whoami', $retval);
      
      echo '
      </pre>
      <hr />Ultima linea de la salida: ' . $user . '
      <hr />Valor de retorno: ' . $retval;
      ?>
      

      我在http://localhost/wordpress/test.php 运行它并获得了用户名守护进程。然后我更改了这个用户sudo chwon daemon -R wordpress的权限并解决了!

      【讨论】:

        【解决方案5】:

        在mac osx 中xampp-7.2.6 的最新版本中,lampp 进程以daemon 用户身份运行。 并且您的 wordpress 文件夹可能没有权限在目录中创建插件文件夹。为了解决这个问题,我更改了webiste 文件夹的权限。 chmow daemon -R website 它奏效了。

        【讨论】:

          猜你喜欢
          • 2013-05-07
          • 1970-01-01
          • 1970-01-01
          • 2020-04-23
          • 2020-06-04
          • 2023-01-08
          • 1970-01-01
          • 1970-01-01
          • 2016-02-05
          相关资源
          最近更新 更多