Определите, установлено ли на сервере расширение FreeType PHP

Как проверить, установлено ли расширение FreeType на сервере под управлением PHP?

Я хотел сделать простую систему CAPTCHA на моем сайте, поэтому я использовал imagettftext() и это сработало отлично. Но что, если на сервере не установлена библиотека FreeType?

Итак, есть способ каким-то образом обнаружить библиотеку FreeType с помощью кода, и если ее нет, вернитесь к чему-то вроде imagestring()?

если я не могу использовать imagettftext() I возможно, придется посмотреть на альтернативы, чтобы нарисовать большой текст шрифта как imagestring максимальный размер не подходит для чего-то вроде капчи.

5 ответов


использовать function_exists:

if (function_exists('imagettftext')) {
     imagettftext();
} else {
     // do other function
}

надеюсь, что это поможет.


это не будет лучше на практике чем function_exists решения уже опубликованы, но технически правильный способ проверить-с помощью extension_loaded.


предполагая, что библиотека GD установлена, вы можете обнаружить поддержку Freetype с помощью gd_info ()


первый несколько сложный подход:

вызов php_info() и поиск / анализ результата для freetype


попробовать function_exists (), то есть

if (!function_exists('imagettftext')) {
  // No freetype library
}

ты бы лучше спросите альтернативы imagettftext как отдельный вопрос.