PHP Zip extractTo - 权限问题
我正在尝试使用 extractTo
在 PHP 中解压缩 Zip 存档。 PHP 脚本通过网络浏览器运行,即作为“nobody”运行。
逻辑和流程:
在文档根目录下创建一个新的子目录(例如“abc”),权限为 0777,所有者为“nobody”(即 public_html 上一级)
将 Zip 文件(从 public_html 下的传入 FTP 目录)复制到 abc 子目录。 此 Zip 文件的权限设置为 0777,所有者为“nobody”。
在 abc 下创建一个“解压缩”子目录,权限 0777/nobody
调用
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:
creates a new subdirectory (e.g. "abc"), with permissions 0777 and owner "nobody" under document root (i.e. one level above public_html)
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".
creates an "unzipped" subdirectory under abc, permissions 0777 / nobody
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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
...事实证明问题出在 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)