【问题标题】:Moving files between drives in PHP? (Linux)在 PHP 中的驱动器之间移动文件? (Linux)
【发布时间】:2022-10-23 18:25:33
【问题描述】:

我有一个简单的网站,在那里我进行了文件托管设置。它在没有太多空间的笔记本电脑上运行,所以我买了 2 个外部硬盘。

我将它们安装在/opt/oweb/html/Downloads/Files/opt/oweb/html/Downloads/Uploads 中。上传到 PHP 的文件进入/tmp,当它只是笔记本电脑的内部驱动器时,它工作得很好。但是现在有了两个额外的驱动器,PHP 出现了这个错误:

Warning: move_uploaded_file(Uploads/Guy Laughing in The Dark Meme Live Wallpaper.mp4): failed to open stream: Permission denied in /opt/oweb/html/Downloads/Upload.php on line 40 Warning: move_uploaded_file(): Unable to move '/tmp/phpUY0tO8' to 'Uploads/Guy Laughing in The Dark Meme Live Wallpaper.mp4' in /opt/oweb/html/Downloads/Upload.php on line 40

apache 用户拥有所有必要的权限,所以这一定是因为目录位于不同的分区(驱动器)上。我该如何补救?

提前致谢。

编辑: 我在 Windows 上对 2 个驱动器进行了分区,因为 cfdisk 出于某种原因无法正常工作。我通过以 apache 身份登录,然后创建和删除文件进行了测试。有效。但是,PHP 现在说它无法打开文件,所以我认为这是 PHP 的问题,而不是其他问题。

【问题讨论】:

  • 我不知道连接到不同分区的这种限制。那应该从哪里来?
  • 你真的确定apache进程可以访问全部该文件夹路径中的文件夹?
  • 请在问题中添加您如何将这些分区安装到系统中的信息。

标签: php linux apache centos7


【解决方案1】:

我想出了如何解决这个问题。当我最初设置 apache 时,我遇到了SELinux 的问题,我记得并决定尝试一下。

出于某种原因,即使分区安装在服务器的子目录中,它们也具有不同的安全配置。所以我只是将服务器根目录中的配置复制到每个挂载目录中,果然,它起作用了。

【讨论】:

    猜你喜欢
    • 2021-06-03
    • 1970-01-01
    • 1970-01-01
    • 2012-05-02
    • 2020-09-27
    • 2011-06-06
    • 2021-10-15
    • 2019-12-31
    • 2012-05-03
    相关资源
    最近更新 更多