Как проверить, установлено ли расширение 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 в качестве отдельного вопроса.