首页 > 解决方案 > 在服务器上的两个站点/帐户之间复制文件的问题

问题描述

我有一个 Linux 服务器,我在上面设置了两个站点/帐户。我正在努力通过一系列 PHP 脚本将一些信息从 site1 迁移到 site2,但是,我开始遇到一些问题。

这是我的服务器设置:

当我尝试使用此逻辑复制文件时,我收到此错误:

//Create original file for future use
if (copy($site1.'/uploads/v2n62l6v.jpg', $site2.'/uploads/v2n62l6v.jpg')) {
    echo 'File copy: true' . "\n\n";
} else {
    echo 'File copy: false' . "\n\n";
}

当我尝试运行脚本时:

警告:复制(/home/site2/public_html/uploads/v2n62l6v.jpg):无法打开流:第 15 行 /home/site2/public_html/move.php 中的权限被拒绝
文件复制:false

我正在尝试在 site2 上执行该文件。任何想法为什么我会被拒绝许可?

更新:

当我运行ls -la命令时,/home/site2/public_html/uploads我得到这个:

drwxr-xr-x 12 site2 site2 12288 Mar 30 13:39 ./ drwxr-x--- 15 site2 nobody 4096 Mar 31 13:44 ../ drwxr-xr-x 10 site2 site2 4096 Feb 21 2019 0/ drwxr-xr-x 12 site2 site2 4096 Feb 20 2019 1/ drwxr-xr-x 12 site2 site2 4096 Feb 20 2019 2/ drwxr-xr-x 12 site2 site2 4096 Feb 20 2019 3/ drwxr-xr-x 12 site2 site2 4096 Feb 20 2019 4/ drwxr-xr-x 12 site2 site2 4096 Feb 20 2019 5/ drwxr-xr-x 12 site2 site2 4096 Feb 20 2019 6/ drwxr-xr-x 12 site2 site2 4096 Feb 20 2019 7/ drwxr-xr-x 12 site2 site2 4096 Feb 20 2019 8/ drwxr-xr-x 12 site2 site2 4096 Feb 20 2019 9/ -rw-r--r-- 1 site2 site2 25 Feb 20 2019 index.php

标签: phplinuxfilecopy

解决方案


通常,文件的所有者不是您的网络服务器的同一用户,因此 755 的文件夹权限可能意味着您的网络服务器是只读的。

您可以将它们设置为 777,但请记住,服务器上的任何人/任何东西都可以写入该目录,或从该目录中删除文件。

另一种选择是使目标目录的所有者与您的网络服务器运行的用户相同。(通常是 httpd、apache、www-data 之一)


推荐阅读