启用PHP的zip扩展

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

if (!extension_loaded('zip')) {
    return false;
}

如何使用php.ini启用.zip扩展?

是否可以启用ini_set()


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

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以上的版本,除非它在命令行上运行或嵌入到Web服务器中,否则您将无法使用dl

如果您不能使用内置于PHP的模块进行重新编译,那么您只能修改php.ini 。 您不能使用ini_set来完成此操作,因为只有在运行时才会应用,而所有必需的模块在启动时将已由PHP可执行文件加载。


用这个,

if (!extension_loaded('zip'))
{ 
    $prefix = (PHP_SHLIB_SUFFIX == 'dll') ? 'php_' : '';
    dl($prefix . 'zip.' . PHP_SHLIB_SUFFIX);
    if (!extension_loaded('zip')) 
    {
       return false;
    }
}
链接地址: http://www.djcxy.com/p/12283.html

上一篇: Enable the zip extension for PHP

下一篇: How can I access the data object of a DataGridCell in code?