Можно ли указать расположение расширения библиотеки в файле Php - PullRequest
0 голосов
/ 18 июня 2010

Я хочу загрузить расширение в файл Php, так как у меня нет доступа к файлу php.ini.

Я пытался:

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

Файл находится в том же каталоге, что и страница Php, но он не работает.

Должно ли это всегда быть сделано в php.ini или это может быть сделано, как указано выше?

Ответы [ 2 ]

2 голосов
/ 18 июня 2010
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.

0 голосов
/ 18 июня 2010

Расширения обычно загружаются во время выполнения, которое во многих случаях запускается сервером http. Так что это довольно невозможно ОБНОВЛЕНИЕ - я ошибся, см. Ответ Марка Бейкера и действительно не нужен.В средах с общим хостингом у вас точно не будет доступа к такой функции (потому что это слишком рискованно), и когда у вас есть доступ к php.ini ... Почему бы не использовать ее?Даже если у вас нет доступа к php.ini, никто не даст вам доступ к такой опасной функции, как пользовательские расширения (если только администратор не плох в этом).Расширение имеет доступ к внутренним компонентам PHP и действительно может связываться с сервером.

...