Magento的.目标文件夹不可写或不存在

sla*_*vig 8 php permissions magento

嘿,我遇到了以下问题,请帮忙.

尝试将图像添加到产品时,我得到"目标文件夹不可写...",但所有需要的文件夹的权限是777!我删除了服务器上的所有文件,没有触摸数据库,从头开始用新数据库重新安装Magento,一切正常.但是,当我切换到以前的DB(更改local.xml中的设置)时,错误再次出现.

数据库如何影响文件夹权限?

更新:

很多,我们发现Magento从这个方法中跳了出来:

public function getBaseMediaUrl()
{
   return Mage::getBaseUrl('media') . 'catalog/product';
}
Run Code Online (Sandbox Code Playgroud)

到以下方法:

public function getBaseTmpMediaUrl()
{
        return Mage::getBaseUrl('media') . 'tmp/catalog/product';
}
Run Code Online (Sandbox Code Playgroud)

有谁知道为什么以及如何????

Ala*_*orm 16

Magento代码库中只有一个使用该错误语言的位置.

File: lib/Varien/File/Uploader.php
...
if( !is_writable($destinationFolder) ) {
    throw new Exception('Destination folder is not writable or does not exists.');
}   
...
Run Code Online (Sandbox Code Playgroud)

在此之上添加一些临时调试代码

...
if( !is_writable($destinationFolder) ) {
    Mage::Log($destinationFolder);
    //or
    var_dump($destinationFolder);   
    throw new Exception('Destination folder is not writable or does not exists.');
}   
...
Run Code Online (Sandbox Code Playgroud)

这将让你知道Magento要写的确切文件夹,但不能.检查这个文件夹,你会发现它不可写.回顾is_writable上的边缘情况也可能会对这个主题有所启发.

  • 对我来说,var_dump不起作用,并且不显示异常.更改异常更好:`throw new Exception('Destination文件夹不可写或不存在:'.$ destinationFolder);`.这将显示以下路径:`media/tmp/catalog/product`. (6认同)