首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为PHP启用zip扩展

为PHP启用zip扩展
EN

Stack Overflow用户
提问于 2013-03-12 17:50:23
回答 2查看 10.2K关注 0票数 7

我尝试在PHP中启用.zip扩展,但是下面的函数返回false。

代码语言:javascript
复制
if (!extension_loaded('zip')) {
    return false;
}

如何在不使用php.ini的情况下启用.zip扩展?

是否可以使用ini_set()启用

EN

回答 2

Stack Overflow用户

发布于 2013-03-12 17:53:36

假设您在服务器上确实有ZIP扩展,那么您可以使用dl()动态加载它(<5.3)。

代码语言:javascript
复制
if (!extension_loaded('zip')) {
    // Attempt to load the zip
    $prefix = (PHP_SHLIB_SUFFIX === 'dll') ? 'php_' : '';
    dl($prefix . 'zip.' . PHP_SHLIB_SUFFIX);

    if (!extension_loaded('zip')) {
        // Couldn't load the ZIP module dynamically, either
        return false;
    }
}

如果你使用的是5.3.0以上的版本,你将无法使用dl,除非它在命令行上运行或嵌入到web服务器中。

如果不能使用内置到php.ini中的模块重新编译,那么您唯一的选择就是修改PHP。你不能使用ini_set来做到这一点,因为它只会在运行时应用,而所有需要的模块在启动时都已经被PHP可执行文件加载了。

票数 2
EN

Stack Overflow用户

发布于 2013-03-12 18:11:21

使用这个,

代码语言:javascript
复制
if (!extension_loaded('zip'))
{ 
    $prefix = (PHP_SHLIB_SUFFIX == 'dll') ? 'php_' : '';
    dl($prefix . 'zip.' . PHP_SHLIB_SUFFIX);
    if (!extension_loaded('zip')) 
    {
       return false;
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15357917

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档