PHP Zip extractTo - 权限问题

发布于 2024-07-20 00:46:35 字数 779 浏览 6 评论 0原文

我正在尝试使用 extractTo 在 PHP 中解压缩 Zip 存档。 PHP 脚本通过网络浏览器运行,即作为“nobody”运行。

逻辑和流程:

  1. 在文档根目录下创建一个新的子目录(例如“abc”),权限为 0777,所有者为“nobody”(即 public_html 上一级)

  2. 将 Zip 文件(从 public_html 下的传入 FTP 目录)复制到 abc 子目录。 此 Zip 文件的权限设置为 0777,所有者为“nobody”。

  3. 在 abc 下创建一个“解压缩”子目录,权限 0777/nobody

  4. 调用 extractTo 来解压缩 zip 文件到解压后的子目录。

代码是:

if ($zip->extractTo('$abc_unzipped_path') === TRUE)
{
     [more code]
}

步骤 4 导致 php 脚本返回以下错误:

ZipArchive::extractTo() [ziparchive.extractto]:第 [extractTo 调用的行号] 行的 [脚本路径和名称] 中的权限被拒绝

有人可以看看权限问题可能出在哪里吗?

  • PHP 版本 5.2.9
  • Zlib 1.2.3

I'm trying to unzip a Zip archive in PHP using extractTo. The PHP script is running via the web browser i.e. as "nobody".

The logic and flow:

  1. creates a new subdirectory (e.g. "abc"), with permissions 0777 and owner "nobody" under document root (i.e. one level above public_html)

  2. copies the Zip file (from an incoming FTP directory under public_html) to the abc subdirectory. Permissions on this Zip file are set to 0777, owner "nobody".

  3. creates an "unzipped" subdirectory under abc, permissions 0777 / nobody

  4. calls extractTo to unzip the zip file to the unzipped subdirectory.

The code is:

if ($zip->extractTo('$abc_unzipped_path') === TRUE)
{
     [more code]
}

Step 4 results in the php script returning the following error:

ZipArchive::extractTo() [ziparchive.extractto]: Permission denied in [script path and name] on line [line number of extractTo call]

Can anyone see where the problem with the permissions might be please?

  • PHP version 5.2.9
  • Zlib 1.2.3

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

開玄 2024-07-27 00:46:35

...事实证明问题出在 zip 文件本身,这会导致上述错误,或者根本没有错误消息(脚本崩溃)

... turns out the problem was with the zip file itself, which variously caused the above errors, or no error message at all (script crash)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文