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 в файле естественно).
Метки: php
23 Октябрь 2008 в 20:48
[...] отдельно и подключить к PHP. Один из вариантов описан тут, но существует способ побыстрей - при помощи phpize. [...]