Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 马根托。目标文件夹不可写或不存在_Php_Magento_Permissions - Fatal编程技术网

Php 马根托。目标文件夹不可写或不存在

Php 马根托。目标文件夹不可写或不存在,php,magento,permissions,Php,Magento,Permissions,嘿,我遇到了以下问题,请帮忙 在尝试向产品添加图像时,我得到了“目标文件夹不可写…”“,但所有所需文件夹的权限都是777!我已经删除了服务器上的所有文件,没有接触数据库,用新的数据库重新安装了Magento,一切正常。 但是当我切换到以前的DB(更改local.xml中的设置)时,错误再次出现 数据库如何影响文件夹权限 更新: Thanx很多,我们发现Magento从这个方法跳转: public function getBaseMediaUrl() { return Mage::getBa

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

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

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

更新:


Thanx很多,我们发现Magento从这个方法跳转:

public function getBaseMediaUrl()
{
   return Mage::getBaseUrl('media') . 'catalog/product';
}
使用以下方法:

public function getBaseTmpMediaUrl()
{
        return Mage::getBaseUrl('media') . 'tmp/catalog/product';
}

有人知道原因和方法吗???

在Magento代码库中只有一个地方使用这种错误语言

File: lib/Varien/File/Uploader.php
...
if( !is_writable($destinationFolder) ) {
    throw new Exception('Destination folder is not writable or does not exists.');
}   
...
添加一些临时调试代码,就在这上面

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

这将让您知道Magento想要写入但无法写入的确切文件夹。检查此文件夹,您会发现它不可写。回顾上的边缘案例也可能有助于了解该主题。

转到:lib/Varien/File/Uploader.php

临时更改以下代码并尝试上载图像。现在,在错误消息中,您可以看到文件夹路径。 在文件夹路径中,您必须授予文件权限777,它将正常工作。解决错误后,将代码还原为原来的状态

if( !is_writable($destinationFolder) ) {
    var_dump($destinationFolder);   
    throw new Exception(''.$destinationFolder.'Destination folder is not writable or does not exists.');
} 
马根托2号 这是Magento 2中错误产生的文件:

vendor/magento/framework/File/Uploader.php

在第
256行
可以临时放置此代码以获取不可写入/不可存在的文件夹:

if( !is_writable($destinationFolder) ) {
    error_log($destinationFolder);        
    // or
    // 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/

我在Magento中上载图像时遇到以下错误,然后我执行了以下步骤,这对我来说很有效

Cd /var/www/

chmod 755 -R /html
chown apache:apache -R /html
setenforce 0

然后重新启动apache..

它可能是来自Plesk管理的过期证书(这是我的情况)

我尝试了上述步骤,但没有成功。从那里,我试图通过FileZilla访问这些文件,以便立即授予所有文件夹的权限,因此出现了一条关于过期证书的错误消息。它不是存储本身的SSL证书,而是Plesk的管理。我创建了一个新的自签名证书,应用了它的Plesk管理,一切都恢复了正常

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


祝你好运我也遇到了同样的问题:

登录到您的SSH:

通过运行以下命令授予媒体文件夹权限:

 cd public_html/media
 find . -type d -exec chmod 777 {} \;

更改媒体文件夹的权限后,我的问题得到解决。只需在服务器上找到媒体文件夹,右键单击->更改权限->设置文件夹权限值777


切换上一个DB时,您可能更改了目录,该目录具有不同的所有者和权限。您的意思是Magento在DB路径中存储到某个目录,并且Admin Frod end操作这些路径吗?最好将权限更改为775/664,并将所有者设置为nobody(centos)或www data(debian)。那么解决方案是什么呢?Thanx很多时候,我们发现Magento从方法/n'公共函数getBaseMediaUrl(){return Mage::getBaseUrl('media')。'catalog/product';}'对我来说,var_转储不起作用,并且没有显示异常。更改异常效果更好:
抛出新异常('目标文件夹不可写或不存在:'。$destinationFolder)。这将显示以下路径:
media/tmp/catalog/product
。朋友不会告诉朋友使用
chmod 777…