0

php.iniファイルにアクセスできないため、Phpファイル内に拡張子をロードしたいと思います。

私は試した:

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

PHPページと同じディレクトリにファイルがありますが、機能しませんでした。

常にphp.iniで実行する必要がありますか、それとも上記のように実行できますか?

4

2 に答える 2

2
if (!extension_loaded('php_gd2')) {
    if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
        dl('php_gd2.dll');
    } else {
        dl('php_gd2.so');
    }
}

ただし、すべてのSAPIで機能するとは限らないことに注意してください。セーフモードで実行している場合、またはPHPがztsサポートを使用して構築されている場合は、明示的に無効になります。

于 2010-06-18T08:11:27.687 に答える
0

拡張機能は通常、実行時にロードされます。これは、多くのサーバーケースでhttpサーバーの起動です。したがって、これはかなり不可能な 更新です-私は間違っていました。MarkBakerの回答を参照してください。本当に不要です。共有ホスティング環境では、そのような機能にアクセスすることはできません(リスクが大きすぎるため)。また、php.iniにアクセスできる場合は、使用しないのはなぜですか。

更新:php.iniにアクセスできない場合でも、カスタム拡張機能などの危険な機能にアクセスできるようにする方法はありません(管理者がそれを嫌う場合を除く)。拡張機能はPHPの内部にアクセスでき、サーバーを実際に混乱させる可能性があります。

于 2010-06-18T08:04:56.993 に答える