启用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可执行文件加载.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...