linux文件上传,给文件或目录添加apache权限的方法

 更新时间:2016年11月20日 17:14:05   投稿:jingxian  
下面小编就为大家带来一篇linux文件上传,给文件或目录添加apache权限的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

在LAMP环境中,测试一个简单的php文件上传功能时,发现/var/log/apache2/error.log中出现如下php警告:

1. [Tue Jan 31 09:40:27 2012] [error] [client 127.0.0.1] PHP Warning: move_uploaded_file(/home/leotody/32883679.jpeg): failed to open stream: Permission denied in /var/www/upload_file.php on line 25, referer: http://localhost/info.html

2. [Tue Jan 31 09:40:27 2012] [error] [client 127.0.0.1] PHP Warning: move_uploaded_file(): Unable to move '/tmp/phps05ssU' to '/home/leotody/32883679.jpeg' in /var/www/upload_file.php on line 25, referer: http://localhost/info.html

提示没有访问权限,文件上传的代码如下:

  if (file_exists("upload/" . $_FILES["file"]["name"]))
   {
   echo $_FILES["file"]["name"] . " already exists. ";
   }
  else
   {
    if(move_uploaded_file($_FILES["file"]["tmp_name"], "upload/".$_FILES["file"]["name"]))
        {
            echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
        }
        else
        {
            echo "move error!";
        }
   }

页面中显示"move error!",说明move_uploaded_file()函数执行失败。

通过查找资料,发现网上有说是selinux启动的原因,检查系统并未启动selinux,查看upload目录默认权限ls -ld upload,结果为755:

1. drwxr-xr-x 2 root root 4096 2012-01-31 10:59 upload

将upload目录权限改为777,sudo chmod 777 upload,再测试上传功能成功。但这种修改权限的方法并不安全。

故可以改upload目录的拥有者为www-data(即apache),sudo chown -R www-data:www-data upload,然后再测试上传功能成功。

1. drwxr-xr-x 2 www-data www-data 4096 2012-01-31 10:59 upload

以上这篇linux文件上传,给文件或目录添加apache权限的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Linux Samba服务器超详细安装配置(附问题解决)

    Linux Samba服务器超详细安装配置(附问题解决)

    在嵌入式系统开发应用平台中,tftp、nfs和samba服务器是最常用的文件传输工具,本文详细的介绍一下Linux Samba服务器安装配置,感兴趣的可以了解一下
    2021-08-08
  • linux防火墙状态查看的方法实例

    linux防火墙状态查看的方法实例

    在本篇文章了小编给大家整理了关于linux防火墙状态查看的方法实例的相关内容,需要的朋友们可以学习下。
    2020-02-02
  • linux下如何配置DNS域名

    linux下如何配置DNS域名

    这篇文章主要介绍了linux下如何配置DNS域名问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-10-10
  • Linux双网卡绑定实现负载均衡详解

    Linux双网卡绑定实现负载均衡详解

    这篇文章主要为大家详细介绍了Linux双网卡绑定实现负载均衡,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-10-10
  • Linux通过设备号找到设备的方法

    Linux通过设备号找到设备的方法

    所有的Linux设备文件均位于/dev目录下,是根(/)文件系统的一个组成部分,因为这些设备文件在操作系统启动过程中必须可以使用。接下来通过本文给大家介绍Linux通过设备号找到设备的方法,感兴趣的朋友一起看看吧
    2018-07-07
  • Linux使用fdisk进行磁盘的相关操作

    Linux使用fdisk进行磁盘的相关操作

    fdisk 命令是 Linux 中用于管理磁盘分区的强大文本实用程序,这篇文章主要为大家详细介绍了如何使用fdisk进行磁盘的相关操作,需要的可以了解下
    2025-01-01
  • Linux系统下使用U盘的方法

    Linux系统下使用U盘的方法

    在linux系统之中, 一切设备皆文件, 所以我们的U盘也是一个文件.磁盘设备被抽象成sda文件, U盘设备被抽象成sdb文件。这篇文章主要介绍了Linux系统下使用U盘的方法,需要的朋友可以参考下
    2016-10-10
  • 浅谈RHEL 7中systemctl 的用法(替代service和chkconfig)

    浅谈RHEL 7中systemctl 的用法(替代service和chkconfig)

    下面小编就为大家带来一篇浅谈RHEL 7中systemctl 的用法(替代service和chkconfig)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-11-11
  • linux中ls命令使用详解

    linux中ls命令使用详解

    这篇文章主要介绍了linux中ls命令使用详解,基本上涵盖了所有的操作了,需要的朋友可以参考下
    2015-01-01
  • linux的基本命令mkdir使用详解

    linux的基本命令mkdir使用详解

    这篇文章主要介绍了linux的基本命令mkdir使用详解的相关资料,需要的朋友可以参考下
    2023-03-03

最新评论