Magento 1.9.1 - 图像未上传,目标文件夹不可写或不存在

时间:2016-06-27 11:26:03

标签: php magento magento-1.9 image-uploading centos7

我正在尝试修复图片未通过Magento管理界面上传到网站的问题。我得到的错误是" / var / www / vhosts / site / httpdocs / media / slide / slides /目标文件夹不可写或不存在"。我做了以下事情:

  • 设置递归777权限以滑动,滑动和放大幻灯片,幻灯片(按顺序,一次一个)
  • 将所有权从普通用户更改为apache,如果apache用户没有工作则将其更改回普通用户
  • 将媒体文件夹权限设置为777
  • 将媒体文件夹所有权设置为apache,然后将其设置为常规用户(如果它不起作用)
  • 删除幻灯片文件夹并让上传者创建文件夹,但会出现错误"无法创建目录' / var / www / vhosts / site / httpdocs / media / slide / slides '

我不确定还有什么可以尝试的。

系统信息:

getfacl media

修改

我运行了命令# file: media # owner: tmweb # group: tmweb user::rwx user:tmweb:rwx group::r-x mask::rwx other::rwx 并获得了以下输出:

chgrp -R tmweb media

我是否需要将一个组设置到该文件夹​​?如果是,我使用什么命令来授予组写访问权?

我尝试了chown -R tmweb:tmweb mediagetfacl slide,但没有改变。

编辑2

我已经运行[root@host-tm-web media]# getfacl slide/ # file: slide/ # owner: tmweb # group: tmweb user::rwx user:tmweb:rwx group::rwx group:tmweb:rwx mask::rwx other::rwx 并得到以下输出:

{{1}}

3 个答案:

答案 0 :(得分:1)

确保您已递归设置777权限,文件夹组和所有者应具有写入权限。

您可以使用以下命令更改所有者和组。

$('#table_summary').DataTable( {
            serverSide: true,
            ordering: false,
            searching: false,
            ajax: function ( data, callback, settings ) {
                var out = []; 
                $.ajax({
                    url: base_url + 'api/change/self-serve',
                    type: "POST",
                    data : function ( d ) {
                         d.action = "summary";
                            d.period = $("#group_period label.active").data("value");
                            coordinator_group = $(".js-basic-multiple-coordinator-group-group").val();
                            if(coordinator_group && coordinator_group.length > 0){
                                d.coordinator_group = [];
                                for( key in coordinator_group){
                                    var obj = coordinator_group[key];
                                    d.coordinator_group.push(obj);                                          
                                }
                            }
                            change_manager_group = $(".js-basic-multiple-change-manager-group").val();
                            if(change_manager_group && change_manager_group.length > 0){
                                d.change_manager_group = [];
                                for( key in change_manager_group){
                                    var obj = change_manager_group[key];
                                    d.change_manager_group.push(obj);                                           
                                }
                            }
                            company = $(".js-basic-multiple-company").val();
                            if(company && company.length > 0){
                                d.company = [];
                                for( key in company){
                                    var obj = company[key];
                                    d.company.push(obj);                                            
                                }
                            }
                            status = $(".js-basic-multiple-ticket-status").val();
                            if(status && status != 'null' && status.length > 0){
                                d.status = [];
                                if(typeof status == "string"){
                                    d.status = status.split(",");
                                }else{
                                    for( key in status){
                                        var obj = status[key];
                                        d.status.push(obj);                                         
                                    }
                                }
                            }               
                            ops_cat_tier1 = $(".js-basic-multiple-ops-cat-tier1").val();
                            if(ops_cat_tier1 && ops_cat_tier1.length > 0){
                                d.ops_cat_tier1 = [];
                                for( key in ops_cat_tier1){
                                    var obj = ops_cat_tier1[key];
                                    d.ops_cat_tier1.push(obj);                                          
                                }
                            }
                            pou_id = $(".js-basic-multiple-pou").val();
                            if(pou_id && pou_id.length > 0){
                                d.pou_id = [];
                                for( key in pou_id){
                                    var obj = pou_id[key];
                                    d.pou_id.push(obj);                                         
                                }
                            }
                    },
                    "success":function(data){
                        out = data;
                         setTimeout( function () {
                                callback( {
                                    draw: data.draw,
                                    data: out.data,
                                    recordsTotal: out.recordsTotal,
                                    recordsFiltered: out.recordsFiltered
                                } );
                            }, 50 );
                    }
                });


            },
            scrollY: 200,
            scroller: {
                loadingIndicator: true
            }
        } );

答案 1 :(得分:0)

请清理缓存并重新启动apache服务器,同时确保启用mod_rewrite

答案 2 :(得分:0)

我设法解决了这个问题。这是因为服务器正在运行SELinux,所以我不得不应用其他权限。对于那些面临这个问题的人来说,这就是我所做的:

找出您网站的用户

<?php
echo `whoami`;
?>

在根目录的终端中运行以下命令:

chown -R apache:apache media

find media -type f -exec chmod 0644 {} \;

find media -type d -exec chmod 0755 {} \;

chcon -t httpd_sys_content_t media -R

chcon -t httpd_sys_rw_content_t media -R

感谢那些提供答案的人,你帮我找到了问题的解决方案!