我的 Linux 服务器上有两个域名 DomainA.com 和 DomainB.com,每个域名都有单独的空间。
我的两个网站都使用 PHP 和 MySQL。
我在 DomainA.com 上有一个页面,用户可从该页面上传文件。但我需要将从 DomainA.com 上传的文件存储在 DomainB.com/mystorage 上。
为此我需要设置'我的存储'文件夹....0777 或 0755 否则?
或者我需要将 DomainA.com 上的“存储”文件夹的权限授予 DomainB.com 上的用户帐户,然后仅使用 PHP 进行上传?如何在 Linux 服务器上将 DomainB 上的一个文件夹的权限授予 DomainA 上的用户帐户?
我得到了以下建议修改模式但不知道如何使用它。请帮忙。
答案1
chmod 用于更改文件或文件夹的权限。0777 中的权限分为四种不同的权限类型:
- 第一位数字 = 特殊权限,例如 suexec
- 第二位数字 = 拥有文件或文件夹的用户的权限
- 第三位数字 = 拥有文件或文件夹的组的权限
- 第四位数字 = 允许其他人
所用数字为 1 表示执行、2 表示写入、4 表示读取。将它们相加即可得到完整数字,因此数字 7 表示读取、写入和执行权限。
0777 表示所有者、组和其他所有人都具有读取、写入和执行权限。(在文件夹上下文中,执行权限意味着您可以查看文件夹的内容。)
如果您授予文件夹权限 0777,则表示每个人都可以执行文件夹中的任何操作,包括删除文件。最好确保这两个帐户属于同一组,并授予该组执行所需操作的权限 - 这可能意味着 0775。
答案2
所以我假设您正在使用 apache?
如果是这样,请确保“mystorage”文件夹归 apache 用户/组所有。
您无需进行“跨域上传”,因为两个网站都在同一个盒子上。如果一个网站向该盒子上的 mystorage 写入数据,另一个网站就可以访问它。
如果我们谈论的是两个网站静态提供内容,那么有两种可能的解决方案:
- 您可以将上传的文件移动到 SiteA 的存储,然后将该文件复制到 siteB 的存储,但这样您就有了同一个文件的 2 个副本。
- 我建议将 mystorage 与两个站点分开。上传时,将 move_uploaded_file 移到 mystorage。然后使用另一台服务器(不是 apache)如 NGINX 提供 mystorage 文件