Обнаруживать, если на сервере установлено расширение PHP FreeType

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

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

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

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

    Используйте function_exists :

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

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

    Это не будет лучше на практике, чем уже существующие решения функции_exists, но технически правильный способ проверки – использовать extension_loaded .

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

     $gdinfo = gd_info(); if($gdinfo['FreeType Support']) echo 'FreeType Support Enabled'; 

    Если вам нужно проверить, установлена ​​ли ранее библиотека GD, используйте extension_loaded('gd');

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

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

    Попробуйте function_exists () , т.е.

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

    Вероятно, вам будет лучше просить альтернативы imagettftext в качестве отдельного вопроса.