Uncaught Error: Call to undefined function imagettftext() или подключение GD lib в PHP 7.0


После перехода на PHP7 в контактах перестала отображаться капча — сразу то и не увидел, спасибо Я.Вебмастеру который указал на ошибки (туда тоже надо время от времени заходить — как оказалось весьма полезно!)
Капчу генерирует на сервере скрипт captcha.php
http://novosibirsk.intim2y.ru/captcha.php?sid=a00725cf67f4e4de734c45e9d592d039
Который при включении отображения ошибок, мне ругнулся Uncaught Error: Call to undefined function imagettftext()

Собственно, гугл сказал что проблема в библиотеке GD
Зашел под phpbrew
phpbrew ext install gd не принесло успеха

ошибка

под рутом добавил исходники GD
yum install gd-devel

после чего скомпилировалось, gd добавилось
gd
НО ошибка так и не ушла!

Собственно, столкнувшись с проблемой я параллельно, на php.ru тему создал, где мне добрый человек и помог

php.ru

Перекомилировал GD (отдельное спасибо)
phpbrew --debug ext install gd -- \
--enable-gd-native-ttf \
--with-gd=shared \
--with-jpeg-dir=/usr \
--with-png-dir=/usr \
--with-freetype-dir=/usr/include/freetype2/freetype

Ошибка ушла! НО теперь браузер говорил, что то вроде «Не могу отобразить изображение из за ошибок в изображении …»
Решил дёрнуть wget-ом страницу и глянуть, что же там внутри
error

Всё стало ясно. Отключил вывод ошибок и предупреждений, и вуаля!

captcha


Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *