即使授予所有文件夹777权限,Magento图像上传也不起作用


9

我无法在magento管理面板中上传图像,出现错误“目标文件夹不可写或不存在”。最近将所有文件从一个主机移到了另一个。有什么解决办法吗?


你有什么样的托管包?如果包含支持,可能值得向他们询问有关当前权限的信息。
David Manners 2014年

我们有两个网站托管在同一台服务器上,并且即使没有上传文件,我们也拥有上传文件的所有权限
user3164549 2014年

Answers:


16

在您的项目中,打开文件lib/Varien/File/Uploader.php,并将其Mage::log()放入save()函数中。

public function save($destinationFolder, $newFileName = null)
{
    $this->_validateFile();

    if ($this->_allowCreateFolders) {
        $this->_createDestinationFolder($destinationFolder);
    }

    if (!is_writable($destinationFolder)) {
        // Put a mage::log() and check what is the folder magento is looking for.
        Mage::log($destinationFolder);
        throw new Exception('Destination folder is not writable or does not exists.');
    }
    ...
}

从日志中,您可以找到Magento正在寻找的文件夹。然后检查该文件夹的权限。


5
非常感谢我忘记了对Media / tmp / category / product授予文件许可权,并且在对该文件夹授予文件许可权后,问题已解决
user3164549 2014年

2
很高兴听到您的问题得到解决。如果这有助于解决问题,请将其标记为答案。
Sukeshini 2014年

5

Magento 2

我在Magento 2上遇到了相同的错误,在这种情况下,这是错误来自的文件:

vendor/magento/framework/File/Uploader.php

在线,256您可以暂时放置以下代码以获取不可写/不存在的文件夹:

if( !is_writable($destinationFolder) ) {
    // throw new Exception('Destination folder is not writable or does not exists.');
    throw new Exception($destinationFolder);
} 

否则,请检查以下文件夹是否存在以及Web服务器可写的文件夹:

  • pub/media/catalog/
  • pub/media/catalog/category
  • pub/media/catalog/product
  • pub/media/images
  • pub/media/wysiwyg/

3

对我来说,问题是通过解决

pub / media / tmp

可通过Web服务器写入

“ pub / media”目录下的下一个文件夹也是可写的

- banners
- catalog
- images
- wysiwyg

3

为了解决这个问题,我几次遇到了这个问题,并且忘记了它通常是映像文件本身,而不是验证权限等所有的服务器。由于尺寸或文件大小太大,它仍然不会上传图像。

我的解决方案是:


2

确保媒体文件夹media / tmp / catalog / product存在,并且“该目录可被您的Web服务器写入”


与其将权限设置为777,不如说“并使该目录可被您的Web服务器写入”。这样做的想法是,不必仅授予每个用户写访问权限,以便您的Web服务器可以写图像。(我不是投票否决的人,但以防万一您想知道,这很可能是原因)

是的,当然;)
Altravista 2015年

2

请检查具有777权限的媒体文件夹。如果启用了编译模式,则还检查包含777权限的文件夹。

给这些文件夹777权限后,问题已为我解决。


0

它可能是Plesk主管部门过期的证书(这是我的情况)。

我尝试了上述步骤,但没有成功。从那里,我尝试通过FileZilla访问文件,以一次为所有文件夹提供权限,因此出现有关过期证书的错误消息。它不是商店本身的SSL证书,而是Plesk的管理。我创建了一个新的自签名证书,应用了其Plesk管理,一切恢复正常。

这对我有用。我把我的贡献留在这里。

祝好运


0

如果正确设置了vhost上的magento DocumentRoot ,Magento中存在一个文件上传错误

/path/to/magento/pub

代替(不推荐使用)

/path/to/magento

上载程序尝试在其中创建文件

/path/to/magento/pub/pub/your_upload_dir

请注意,位置发布会两次。他们告诉他们将在2.2.0+中修复它,但在2.2.1中仍然会出现此问题。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.