shared библиотеки PHP

Эта заметка может относится к Убунту, если в репозиториях нет нужного вам модуля. Обычно все необходимые модули присутствуют в виде пакетов. Имена пакетов имеют вид “php5-модуль”.

Захотелось поставить “экзотический модуль(расширение)” для работы с бд Informix. В репозитории его естественно не оказалось. Пересобирать php с опцией ” –with-informix” очень не рекомендуется, потому что версия php в Ubuntu протестирована на совместимость с ОС. Поэтому я решил собрать лишь саму библиотеку и подключить ее к php. Такая библиотека называется shared, по аналогии с dll в Windows, так же бывают статические библиотеки которые линкуются вместе с приложением(это если собирать с опцией –with-informix, например). Что я делал?

Узнал версию php:

anarki:~/tmp$ php -v
PHP 5.2.4-2ubuntu5.3 with Suhosin-Patch 0.9.6.2 (cli) (built: Jul 23 2008 06:44:49)
Copyright (c) 1997-2007 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies

Скачал с php.net исходники для этой версии по ссылке http://www.php.net/get/php-5.2.4.tar.bz2/from/a/mirror В ссылке можно менять версии, откроется страница с зеркалами, откуда можно качать.

Распаковал в папку ~/tmp . Перешел в папку, в консоли написал:

./configure –with-informix=shared
make
cp modules/informix.so /usr/lib/php5/20060613+lfs/

Тут довольное странное название директории, куда копируется скомпилированный модуль, посмотрите у себя, где лежат файлы *.so, это значит и есть папка с расширениями php.

Теперь нужно сказать php, чтобы он начал подключил ее в работу. Создаю файл informix.ini с содержимым

[extension section]
extension=informix.so

Помещаю его в папки  /etc/php5/conf.d/, /etc/php5/apache2/conf.d/,  /etc/php5/cli/conf.d/ Это соотвественно общая папка, для mod_php и для cli версии. Если нужно, то меняю настройки в informix.ini в этих папках. По идее, можно сделать различные конфигурации модулей для mod_php и cli, удаляя файлы *.ini я отключаю модули, а добавляя - подключаяю(если прописано extension=модуль.so в файле естественно).

Метки:

1 комментарий на “shared библиотеки PHP”

  1. Подключение PHP расширений без пересборки пишет:

    [...] отдельно и подключить к PHP. Один из вариантов описан тут, но существует способ побыстрей - при помощи phpize. [...]

Оставить комментарий