PHP 将文件上传到网络服务器根目录之外的目录

2023-12-29

所以我有一个问题想问你们...我正在尝试用 PHP 编写一个网站,允许人们将图像上传到我的服务器。我的上传部分正常工作,所以这不是问题。问题是当我尝试将上传的文件写入 apache 文档根目录之外的目录时。

Apache的文档根目录是/var/www/,我尝试将这些图像保存到的目录是/mnt/storage/images/。我已经创建了该目录,将组更改为 www-data,并将目录的权限更改为 777(尽管我知道这在安全方面非常糟糕)。我使用 apache 配置文件 /etc/apache2/apache2.conf 尝试了一些操作,即添加标签和别名行,但似乎没有任何效果。每次我尝试将文件上传到图像目录时,都会出现权限错误。我什至尝试手动将一些文件放在那里,然后使用别名通过 Web 浏览器导航到该目录,但出现 403 错误。

我知道我要么做错了什么,要么我没有做任何事情来让这项工作成功。我已经用谷歌搜索了几天来寻求有关此问题的帮助,但我发现的只是无用的信息,或者几乎没有任何帮助的零碎信息。

顺便说一句...我在 Ubuntu 11.04 上使用 Apache 2.2.17,并且我拥有 root 访问权限和所有这些爵士乐。

谢谢, 罗比

编辑:这是我放入的 apache 配置部分:

Alias /images "/mnt/storage/images/"
<Directory "/mnt/storage/images/">
    Allow from all
</Directory>

您必须授予 Apache 对所有涉及的目录的访问权限:

/mnt
/mnt/storage
/mnt/storage/images

做 777 没有意义images如果 Apache 没有权限storage or mnt目录。

当然,仅images需要具有写入权限,因为这是您实际进行文件操作的地方。mnt and storage最多需要读取权限,并且您可以通过将 Apache 的用户帐户放入一个组并将图像目录 chgrp 到该新组来摆脱全局 (xx7) 权限。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PHP 将文件上传到网络服务器根目录之外的目录 的相关文章

随机推荐

  • Thinktecture 身份服务器 3 单点登录

    我希望有人指出我正确的方向 我在 IIS 上设置了身份服务器 3 并在该身份服务器上设置了 2 个不同的 MVC 客户端 我对单点登录有点困惑 我希望能够实现单点登录 然而 当我登录时 每个客户端网站都会设置自己的 aspNet 会话 co
  • 如何部署 yeoman Angular-fullstack 项目?

    我想部署一个用 Angular 全栈制作的简单 Angular 项目 https github com DaftMonk generator angular fullstack https github com DaftMonk gener
  • 使用 Zend Framework 的查询构建器

    我刚刚开始我的 PHP Zend 框架世界之旅 我的应用程序的目的是使用 Zend 开发查询生成器 该应用程序将被网络中的许多用户同时使用 当用户根据应用程序提供的某些条件进行搜索时 系统将从大型数据库 超过5000万条记录甚至更多 中获取
  • 如何在 React Native 中添加自定义字体而不使用 Xcode?

    有没有办法在 Atom 编辑器的 React Native 中添加自定义字体而不是使用 Xcode 有一种更简单的方法可以通过命令行执行操作rnpm 它为 android 和 ios 添加了字体 将要添加的字体放置到项目目录内的合适位置 在
  • Java:JDBC数据库连接池

    HI 我有一个多线程 Java 数据库应用程序 我们必须创建一个定制的数据库池 原因是我们的一些准备好的语句必须缓存在连接中 我们的原始解决方案基于一个免费的哈希图 另一个锁定的哈希图 对于hashmap 我们必须使用synchronize
  • 使用 gtkmm 构建的 Glade TreeView

    我有一个空地构造的 TreeView ListStore 我正在尝试将其加载到应用程序中并通过 gtkmm 进行操作 这是经理的课程 typedef struct Gtk ListStore liststore info Gtk TreeM
  • 使用 google API 更新电子表格

    我正在尝试使用 node js googleapis v4 并使用 JWT 客户端授权来更新给定的电子表格单元格 阅读效果很好 但我不明白如何写 new Promise resolve reject gt sheets spreadshee
  • Meteor `onRendered` 仅调用一次

    经过几个小时的实验和阅读 我仍然不明白为什么myTemplate onRendered function 只被调用一次 根据您阅读的位置 您会获得不同的信息 但显然每次内部 HTML 更改时都会调用它 这在我的实验中不会发生 它只会被调用一
  • 如何序列化 boost::dynamic_bitset?

    如何使用 boost dynamic bitset 成员序列化类 include
  • 如何等待 Kubernetes 为 LoadBalancer 服务分配外部 IP?

    创建一个Kubernetes 负载均衡器 http kubernetes io v1 1 docs user guide services html type loadbalancer立即返回 例如 kubectl create f or
  • 如何使用 AngularFire、Firestore 和 Firebase 分页到上一页

    抱歉 我看到这个问题在这里以不同的方式被问过很多次 例如 如何在 Angular 6 和 firebase Firestore 设置中分页回以前的页面 https stackoverflow com questions 51831193 h
  • 屏幕支持使用layout-large、layout-normal和layout-xlarge文件夹的多个设备

    我创建布局大 正常布局 and 布局 xlarge in the res文件夹 我将所有 xml 文件复制到这些布局文件夹中 首先我想问一下有什么区别layout the default and 正常布局 folder 我知道如果我在大屏幕
  • 如何使用java计算极大指数数的余数?

    如何使用 java 计算极大指数数的余数 例如 48 26 2401 我尝试使用 BIGINTEGER 但是它为大除数提供了相同的输出 我不确定 BIGINTEGER 是否可以做到这一点 我尝试了所有其他 PRIMITIVE 数据类型 它们
  • 将对象声明为易失性对象

    如果在Java中将一个成员变量声明为易失性 这是否意味着该对象的所有数据都存储在易失性内存中 或者对该对象的引用存储在易失性内存中 例如 如果我有以下课程 class C int i 0 char c c 如果我按如下方式声明它的实例 pr
  • 每当你输入 python 时 winpty python.exe

    我正在尝试为我的Python别名 bashrc文件 我输入此命令是为了告诉 Git Bash 在哪里可以找到 Python 可执行文件 python version winpty 从我的 Git Bash 中 不幸的是 我收到此错误 MIN
  • Redisson NoSuchFieldError:WRITE_BIGDECIMAL_AS_PLAIN

    我刚刚通过maven导入了redisson 1 0 3 在默认端口上的localhost上设置了一个redis服务器 并想尝试一下redisson redis客户端 我的测试代码如下所示 Redisson redis Redisson cr
  • 带有 EclipseLink 和 Java SE 的 JPA

    将项目jar文件导出到文件服务器后 jpa的entitymanager的创建不再起作用 有以下详细信息 我使用 Glassfishv3 项目中的 EclipseLink 我从网站下载了 EclipseLink 2 4 org eclipse
  • 如何使用 Nestjs 和 apollo 服务器拼接多个远程模式

    首先 我对在 Stack Overflow 上发帖还很陌生 但我当然会尽力在这里获取所有相关信息 并分享找到的解决方案 因为我可以想象更多的人可能会遇到这个问题 因此 我们从一个具有多个小型微服务作为后端的系统开始 我们发现 Apollo
  • 实体框架:类型“映射为复杂类型”错误

    在我的数据库中 我有一个名为 tracking 的表 其中包含以下列 OrderNumber varchar 50 NULL TrackingNumber varchar 50 NULL emailaddress varchar 100 N
  • PHP 将文件上传到网络服务器根目录之外的目录

    所以我有一个问题想问你们 我正在尝试用 PHP 编写一个网站 允许人们将图像上传到我的服务器 我的上传部分正常工作 所以这不是问题 问题是当我尝试将上传的文件写入 apache 文档根目录之外的目录时 Apache的文档根目录是 var w