【Linux服务器配置】在windows系统上正常,在Linux上php的文件上传失败

以本人使用的是阿里云的CentOS服务器为例:
本地windows系统上可以正常进行文件上传的,将文件传到服务器上文件显示不出来,且利用打印出来的结果是“文件上传失败”

if(!move_uploaded_file($_FILES['avatar']['tmp_name'], $target)){
   $GLOBALS['error_message']='上传文件失败';
    return;
}

而打印$_FILES[‘avatar’]可以打印出数据

var_dump($_FILES['avatar']);

由此可判断是移动函数move_uploaded_file没有正常执行

解决方案:为临时文件夹与目标文件夹的权限进行了修改,修改为所有人可读可写可操作

1、将临时文件夹的权限修改为所有人可读可写可执行

在临时文件夹下执行,本人使用的临时文件夹为/tmp,故而进入根目录/,执行命令:

chmod 777 tmp

2、将目标文件夹的权限修改为所有人可读可写可执行

进入目标文件夹(uploads)的父文件夹,执行命令:

chmod 777 uploads

3、重启Apache服务器

$sudo systemctl restart httpd
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值