启用PHP的zip扩展

Ms_*_*y13 7 php zip extension-methods

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

if (!extension_loaded('zip')) {
    return false;
}
Run Code Online (Sandbox Code Playgroud)

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

是否可以启用ini_set()

Rud*_*ser 2

如果服务器上确实有可用的 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;
    }
}
Run Code Online (Sandbox Code Playgroud)

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

php.ini如果您无法使用 PHP 内置模块重新编译,那么您唯一的选择就是修改。您不能使用 来执行此操作ini_set,因为它只会在运行时应用,而所有必需的模块都已由 PHP 可执行文件在启动时加载。