使用ZipArchive解压报权限不够

  • thinkphp项目中使用ZipArchive解压上传的压缩包
  • 但是在使用$zipArchive->extractTo('path/');解压的的时候,报如下的错误 :
  • ZipArchive::extractTo(): Permission denied
  • 然后我将path目录修改为了777的权限,但是还会报里面的文件或者文件夹权限不够,总不能上传一次然后就来修改一下权限吧
  • 求大哥们指点下
  • 环境是 : lamp + thinkphp6
最佳答案
  • 尝试一 请确保Apache用户有无权限访问zip文件,或者将zip文件的所属改为www-data
    chown -R www-data path/
  • 尝试二 $zipArchive->extractTo('path/'); 会递归读取文件夹,如果你只是给path文件夹777的权限还是会造成访问path下其他目录的时候造成权限不足,你可以尝试递归给path文件夹777的权限
    chmod -R 777 path/

    以上的操作请是在开发环境尝试,切勿在生产环境尝试!!!

3年前 评论
qingshui (楼主) 3年前
讨论数量: 1
  • 尝试一 请确保Apache用户有无权限访问zip文件,或者将zip文件的所属改为www-data
    chown -R www-data path/
  • 尝试二 $zipArchive->extractTo('path/'); 会递归读取文件夹,如果你只是给path文件夹777的权限还是会造成访问path下其他目录的时候造成权限不足,你可以尝试递归给path文件夹777的权限
    chmod -R 777 path/

    以上的操作请是在开发环境尝试,切勿在生产环境尝试!!!

3年前 评论
qingshui (楼主) 3年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!