FastNetMon

Показаны сообщения с ярлыком GD2. Показать все сообщения
Показаны сообщения с ярлыком GD2. Показать все сообщения

вторник, 2 марта 2010 г.

Установка GD для PHP на FreeBSD

Проверяем, что gd еще не стоит:
php -m | grep gd -i


cd /usr/ports/graphics/php5-gd
make install clean


Убеждаемся, что все встало:

php -m | grep gd
gd

четверг, 25 февраля 2010 г.

Пересборка PHP на Debian для поддержки imagerotate

И да, то, что PHP в Debian 5 Lenny собран с системным gd, а не со встроенным, тоже его баг. Аналогичная проблема с функциями imageconvolution(), imageantialias().

Убеждаемся,что стоит не Bundled версия GD:
php -i | grep gd -i
/etc/php5/cli/conf.d/gd.ini,
ffmpeg-php gd support => enabled
gd
GD Support => enabled
GD Version => 2.0 or higher


Предварительно рекомендую обновить систему, чтобы поставить актуальную версию PHP:
apt-get update;
apt-get -y upgrade;

cd /usr/src
apt-get install -y dpkg-dev devscripts build-essential fakeroot
apt-get source libapache2-mod-php5
apt-get build-dep -y libapache2-mod-php5
cd php5-5.2.6.dfsg.1


Теперь вносим коррективы (переключаемся с внешнего gd на внутренний):

sed -i 's/-with-gd=shared,\/usr/-with-gd=shared/' debian/rules



Собираем:

debuild -us -uc # -us unsigned source, -uc unsigned changes
# если же требуется на 64 битной архитектуре собирать 32 битный пакет, то команда будет иной:
# debuild -us -uc -ai386


Ставим обновленный gd (32 бита):
cd ..
dpkg -i php5-gd_5.2.6.dfsg.1-1+lenny9_i386.deb

Или так (64 бита):
cd ..
dpkg -i php5-gd_5.2.6.dfsg.1-1+lenny9_amd64.deb

Рестартим Апача:

/etc/init.d/apache2 restart


Убеждаемся, что встала Bundled сборка GD:
php -i | grep gd -i
/etc/php5/cli/conf.d/gd.ini,
ffmpeg-php gd support => enabled
gd
GD Support => enabled
GD Version => bundled (2.0.34 compatible)


Тестим работу:
php -r "imagerotate();"


и еще вторую функцию:
php -r "imageconvolution();"


Блокируем обновление php5-gd, чтобы более новая версия не заменила нашу:
echo "php5-gd hold" | dpkg --set-selections


Кому требуется "легкий путь", вот уже собранная под 32 и 64 битный Debian версия:
apt-get update; apt-get upgrade
cd /usr/src


32 бита:
wget http://fastvps.googlecode.com/files/php5-gd_5.2.6.dfsg.1-1%2Blenny8_i386.deb
dpkg -i php5-gd_5.2.6.dfsg.1-1+lenny8_i386.deb


64 бита:
wget http://fastvps.googlecode.com/files/php5-gd_5.2.6.dfsg.1-1%2Blenny8_amd64.deb
dpkg -i php5-gd_5.2.6.dfsg.1-1+lenny8_amd64.deb



echo "php5-gd hold" | dpkg --set-selections
/etc/init.d/apache2 restart


основано на: http://digitalconsumption.com/forum/622-PHP-imagerotate-on-Debian и http://cumu.li/2008/5/13/recompiling-php5-with-bundled-support-for-gd-on-ubuntu