【问题标题】:"zip I/O error: Permission denied" with exec command带有 exec 命令的“zip I/O 错误:权限被拒绝”
【发布时间】:2011-07-07 16:08:25
【问题描述】:

我正在尝试使用 exec 命令递归地压缩目录,首先,出于概述原因,我不需要 zipArchive 类,但是当我在 exec 命令中传递此命令时出现错误说:

zip I/O 错误:权限被拒绝

对于这个命令:

cd ../../; zip -P temppassword html/acp/backup/filename.zip -r html/ 2>&1

它从位于/var/www/html/acp/config.php 的脚本开始,在cd ../../ 之后移动到www 目录,然后压缩html 目录并将压缩文件存储到/var/www/html/acp/backup/ 目录中。但不幸的是,我收到了权限错误。如何允许命令通过“权限”?

【问题讨论】:

  • 为什么这被标记为离题?

标签: php zip exec


【解决方案1】:

可能是:

  1. Web 服务器用户 ID 没有写出您正在生成的 .zip 的权限
  2. Web 服务器用户 ID 无权读取您要压缩的区域中某处的文件/目录。

【讨论】:

  • 所以我假设用户是apache。我怎样才能让用户有权这样做?
  • 以一种非常骇人听闻的方式:chown -R apache:apache html/chmod -R 777 html/。最好你应该找出哪个目录/文件是/正在导致错误并只修复那些。
  • 啊,是的,我刚刚修改了备份目录,这一定是它不起作用的原因。谢谢。
  • 如果你对备份目录进行 CHMOD 修改,你是不是允许全世界(可以调用脚本的用户)对该目录进行写访问?
  • @horatio:是的,但只有当用户能够首先获得该目录时才会成为问题,例如在共享主机或允许任意上传的脚本上
猜你喜欢
  • 2012-05-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-26
  • 1970-01-01
  • 1970-01-01
  • 2021-01-26
相关资源
最近更新 更多