代码之家  ›  专栏  ›  技术社区  ›  Tom

可以在PHP文件中设置库扩展名的位置吗

  •  0
  • Tom  · 技术社区  · 16 年前

    我想在一个php文件中加载一个扩展名,因为我没有访问php.ini文件的权限。

    我试过:

    ini_set('extension','php_gd2.dll');
    

    与php页面位于同一目录中,但它不起作用。

    必须始终在php.ini中完成它,还是可以像上面那样完成?

    2 回复  |  直到 13 年前
        1
  •  2
  •   Mark Baker    16 年前
    if (!extension_loaded('php_gd2')) {
        if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
            dl('php_gd2.dll');
        } else {
            dl('php_gd2.so');
        }
    }
    

    但是请注意,它不能与所有的SAPI一起工作;并且在安全模式下运行或使用ZTS支持构建PHP时被显式禁用。

        2
  •  0
  •   Tomasz Struczyński    16 年前

    扩展通常是在运行时加载的,在许多服务器情况下,这是HTTP服务器的启动。 所以这是不可能的 更新-我错了,见马克·贝克回答 以及真正不需要的。在共享的托管环境中,您肯定无法访问此类功能(因为这样做风险太大),并且当您有权访问php.ini时…为什么不使用它?

    更新: 如果你甚至无法访问PHP.ini,那么任何人都不可能让你访问像自定义扩展这样的危险特性(除非管理员不擅长)。这个扩展可以访问PHP的内部,并且可以真正地扰乱服务器。

    推荐文章