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

Magento 1.9.1 - Images not uploading, Destination folder is not writable or does not exists

我正在尝试解决图像无法通过 Magento 的管理界面上传到站点的问题。我收到的错误是“/var/www/vhosts/site/httpdocs/media/slide/slides/Destination 文件夹不可写或不存在”。我做了以下事情:

我不确定还能尝试什么。

系统信息:

CentOS Linux release 7.1.1503 (Core)

NAME="CentOS Linux"

VERSION="7 (Core)"

ID="centos"

ID_LIKE="rhel fedora"

VERSION_ID="7"

PRETTY_NAME="CentOS Linux 7 (Core)"

ANSI_COLOR="0;31"

CPE_NAME="cpe:/o:centos:centos:7"

HOME_URL="https://www.centos.org/"

BUG_REPORT_URL="https://bugs.centos.org/"


CENTOS_MANTISBT_PROJECT="CentOS-7"

CENTOS_MANTISBT_PROJECT_VERSION="7"

REDHAT_SUPPORT_PRODUCT="centos"

REDHAT_SUPPORT_PRODUCT_VERSION="7"

CentOS Linux release 7.1.1503 (Core)
CentOS Linux release 7.1.1503 (Core)

**PHP Version:** 5.4.16 

**HTTPD Version:** 2.4.6

**MariaDB Version:** 15.1 Distrib 5.5.41-MariaDB, for Linux (x86_64) using readline 5.1



**SELinux Status:**

SELinux status:                 enabled

SELinuxfs mount:                /sys/fs/selinux

SELinux root directory:         /etc/selinux

Loaded policy name:             targeted

Current mode:                   enforcing

Mode from config file:          enforcing

Policy MLS status:              enabled

Policy deny_unknown status:     allowed

编辑

我 运行 命令 getfacl media 得到以下输出:

# file: media
# owner: tmweb
# group: tmweb
user::rwx
user:tmweb:rwx
group::r-x
mask::rwx
other::rwx

文件夹需要设置群组吗?如果是这样,我使用什么命令来 g运行t 组写访问权限?

我试过 chgrp -R tmweb mediachown -R tmweb:tmweb media 但没有改变。

编辑 2

我有 运行 getfacl slide 并得到以下输出:

[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

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

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

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

sudo chown [user]:[group] folder_name

我已经设法解决了这个问题。这是因为服务器是运行 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

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