是否可以在Php文件中设置库扩展的位置

时间:2010-06-18 07:59:58

标签: php ini-set

我想在Php文件中加载扩展名,因为我无法访问php.ini文件。

我试过了:

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

将文件放在与Php页面相同的目录中,但它不起作用。

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

2 个答案:

答案 0 :(得分:2)

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。

答案 1 :(得分:0)

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

更新: 如果您甚至无法访问php.ini,那么任何人都无法访问自定义扩展等危险功能(除非管理员不好)。扩展可以访问PHP的内部,并且可以真正搞乱服务器。