• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

apache – LAMP 用 php 的 zip 库,却说找不到 =。=

php 搞代码 4年前 (2022-01-25) 34次浏览 已收录 0个评论
文章目录[隐藏]

俺是一个很水的 web 程序猿,基本没写过什么项目。问题一看也很水,但是在网上找了很久,也没找到答案,希望大侠们别喷俺。

环境如下:

  • Archlinux 3.16.3
  • Apache 2.4.10
  • PHP 5.6.0

需求是通过页面选择,将其他地方的 zip 文件下载到服务端,然后解压输出到客户端。在编写过程中有个疑问,用 fwrite 写到 /tmp/xx.zip 的文件对服务端的普通用户不可见。索性用

<code>exec('ls /tmp/*.zip', $result);print_r($result);</code>

可以显示出来,而且通过 file_get_contents 之类的方法可以确保文件的确存在。

现在的问题是,在 php.ini 中已经确保开启了 zip 扩展,并在本地执行以下代码也可行:

<code>$zip = zip_open($target);if($zip) {    while($entry = zip_read($zip)) {        echo zip_entry_name($entry) . ': ' .            zip_entry_filesize($entry) . '/' .            zip_entry_compressedsize($entry) . ', by' .            zip_entry_compressionmethod($entry) . "\n";    }    zip_close($zip);}</code>

注意,是本地执行,即 php file.php,但是放到 Apache 目录中,通过浏览器访问就不行了。错误提示:PHP Fatal error: Call to undefined function zip_open()

回复内容:

俺是一个很水的 web 程序猿,基本没写过什么项目。问题一看也很水,但是在网上找了很久,也没找到答案,希望大侠们别喷俺。

环境如下%本文来源gaodai#ma#com搞*代#码9网#搞gaodaima代码

  • Archlinux 3.16.3
  • Apache 2.4.10
  • PHP 5.6.0

需求是通过页面选择,将其他地方的 zip 文件下载到服务端,然后解压输出到客户端。在编写过程中有个疑问,用 fwrite 写到 /tmp/xx.zip 的文件对服务端的普通用户不可见。索性用

<code>exec('ls /tmp/*.zip', $result);print_r($result);</code>

可以显示出来,而且通过 file_get_contents 之类的方法可以确保文件的确存在。

现在的问题是,在 php.ini 中已经确保开启了 zip 扩展,并在本地执行以下代码也可行:

<code>$zip = zip_open($target);if($zip) {    while($entry = zip_read($zip)) {        echo zip_entry_name($entry) . ': ' .            zip_entry_filesize($entry) . '/' .            zip_entry_compressedsize($entry) . ', by' .            zip_entry_compressionmethod($entry) . "\n";    }    zip_close($zip);}</code>

注意,是本地执行,即 php file.php,但是放到 Apache 目录中,通过浏览器访问就不行了。错误提示:PHP Fatal error: Call to undefined function zip_open()

本地执行没问题,用 URL 访问说函数不存在,说明 cli 环境和 Apache 用的不是一个 PHP。

找到 cli 环境的 PHP 位置,看是否和 mod_php 位置一致,如果一致,请:

重启 Apache。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:apache – LAMP 用 php 的 zip 库,却说找不到 =。=

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址