Установка модуля PHP templates.so на Debian Lenny x86

К сожалению под Debian x64 нет модуля, только под Debian x32. Но если вы попробуете поставить, то он у вас будет выдавать при компиляции make ошибки.

php templates.so

А если попробуете скопировать модуль с x32 на x64 то будет ошибка. Непомню как нызавается она, но чтото о несовместимости системы говорит.

Установка модулей

Допустим, модуль называется php-templates.
Сначала создадим папку для установки:
#mkdir ~/php


Установка через PECL

Достаточно ввести следующую команду:
#pecl install --installroot=~/php php-templates


Однако, этот способ не всегда работает, и в таких случаях приходится устанавливать «вручную»:

Установка «вручную»



# Скачиваем архив с модулем и распаковываем
#wget http://space.dl.sourceforge.net/project/php-templates/php-templates/1.7/php_templates-1.7.2.tar.gz
#tar -cvzf php_templates-1.7.2.tar.gz


# Заходим в распакованную папку:
#cd templates


# Если нет других указаний, устанавливаем модуль стандартным для PHP образом:
#phpize
#./configure --enable-templates=shared
#make
#make install


Если у вас нет phpize
то придется поставить:
#apt-get install php5-dev 


Получаем скомпилированный модуль:
root@localhost:~/templates# ls -l ./modules/templates.so
-rw-r--r-- 1 root root 107068 2011-01-23 ./modules/templates.so


Этот модуль копируем в папку где хранятся модули по умолчанию:
#cp ./modules/templates.so /usr/lib/php5/20060613+lfs


Далее идем в ISPmanager IP-server/manager/ispmgr
В раздел "Расширения PHP"
php templates.so

Если ISPmanager не видит наш модуль, то перезагружаем его
#service restart httpd
#killall -9 ispmgr


Выбираем наш модуль templates.so и нажимаем на лампочку для активации модуля.

php templates.so

Если у вас нету ISPmanager, то создайте в папке:
/etc/php5/conf.d/ фаил templates.ini и впишите в него:
extension=templates.so


При выполнении команды
#php -m

Вам должно показать весь список подключенный модулей в php.
php templates.so

1 комментарий

saint-technik
Понадобилось собрать этот модуль на Wheezy x64 с PHP 5.4.
После изучения ошибок, выводимых во время сборки и активного гугления было найдено решение. В файле templates.c нужно заменить строку
function_entry templates_functions[] = {

на
static zend_function_entry templates_functions[] = {

а также в файле tmpl_lib.c в строках 217, 700 и 880 заменить функцию ZV() на Z_STRVAL_P().
После этих манипуляций модуль собрался и успешно подключился.
Комментарий отредактирован: 27 июля 2013, 15:11
0