Недавно попался 🙂 мне сервер с Debian Lenny, на котором нужно было настроить библиотеку gd для php5
Панель ISPManager ее устанавливает самостоятельно. Установил через панель, перезапустил апач — не работает. Проверил — библиотека установилась, в списке php -m есть..
Оказывается, gd.so в Debian не содержит часть функций, в частности — imagerotate();
Решением стал такой вариант:
# apt-get source libapache2-mod-php5
# apt-get build-dep libapache2-mod-php5
# cd php5-5.2.6.dfsg.1/
# sed -i 's/-with-gd=share,\/usr/-with-gd/' debian/rules
# debian/rules binary
# dpkg -i libapache2-mod-php5_5.2.6.dfsg.1-1+lenny4_amd64.deb
/etc/init.d/apache2 restart
К слову — я не дебианщик, не люблю я его.. Точнее — не умею готовить 🙂
Для меня компиляция из исходников — это слишком (на слабом сервере может занять более 2х часов, плюс скачивается и устанавливается куча ненужных пакетов, используемых только для компиляции)
Как решить проблему не компилируя:
1. скачиваем расширение gd.so отсюда (скомпилировано под php5-gd_5.2.6.dfsg.1-1+lenny8_i386, тестировал на lenny10_386)
2. бэкапим файл usr\lib\php5\20060613+lfs\gd.so
3. заменяем usr\lib\php5\20060613+lfs\gd.so на файл скаченный в пункте 1
4. блокируем обновление gd при вызове apt-get upgrade:
echo «php5-gd hold» | dpkg —set-selections
(включить обратно: echo «php5-gd install» | dpkg —set-selections)
5. /etc/init.d/apache2 restart
6. недостающие функции должны работать, в том числе и imagerotate
все «\» надо заменить на «/» в пред. комменте 🙂