Данные действия помогут установить модуль поддержки Firebird в PHP разных версий под управлением операционной системы Linux на примере Ubuntu и CentOS 7 или 8. Предполагается, что у нас уже установлен PHP.
Начиная с версии PHP 7.3, поддержка Firebird осуществляется только через PDO. Подробнее читайте в инструкции Работа с Firebird в PHP через PDO .
Рассмотрим процесс пошагово:
В зависимости от системы вводим разные команды.
а) Ubuntu:
apt-get install firebird-dev gcc wget php-dev make
б) CentOS
Подключаем расширенный репозиторий:
yum install epel-release
Устанавливаем необходимые пакеты:
yum install firebird-devel gcc wget php-devel make
—
* где:
Смотрим установленную версию php:
php -v
Теперь открываем браузер и заходим на сайт http://museum.php.net . Выбираем установленную версию php (например, 5 или 7) и находим исходники той же версии, которая установлена у нас в системе CentOS и была получена предыдущей командой. Копируем ссылку на архив:
Если мы используем актуальную версию PHP, найти ссылку на загрузку его исходника можно на странице www.php.net/releases/index.php .
Переходим во временный каталог:
cd /tmp
Используя скопированную ссылку, скачиваем исходник для php:
wget http://museum.php.net/php5/php-5.4.16.tar.gz
* у меня была установлена версия php-5.4.16.
Теперь распаковываем скачанный архив:
tar -xvf php-*.tar.gz
И переходим в следующий каталог:
cd php-*/ext/interbase/
* напомню, что 5.4.16 — моя версия установленной программы. В вашем случае это может быть 5.6…, 7.2… или любая другая версия.
Запускаем компиляцию расширения:
phpize
Добавляем опции в исходник:
./configure —with-interbase=shared,/opt/firebird
Запускаем сборку исходника:
make
Копируем файл модуля из исходника в рабочий каталог php:
cp modules/interbase.so /usr/lib64/php/modules/
Создаем новый конфигурационный файл для расширения:
vi /etc/php.d/interbase.ini
и добавляем в него такую строку:
extension=interbase.so
Проверяем, что поддержка interbase firebird появилась в PHP:
php -r «phpinfo();» | grep Firebird
Мы должны увидеть что-то на подобие:
Firebird /InterBase Support => dynamic
Compile-time Client Library Version => Firebird API version 25
Run-time Client Library Version => LI-V6.3.9.27139 Firebird 2.5
Перезагружаем интерпретатор PHP, например, Apache:
systemctl restart httpd
… или php-fpm:
systemctl restart php-fpm
Соединяемся с базой:
ibase_connect(«192.168.1.4:mybase», «SYSDBA», «masterkey») or die(«IBase connect error»);
* где 192.168.1.4 — IP-адрес сервера Firebird; mybase — имя базы данных, к которой идет подключение; SYSDBA и masterkey — соответственно, имя пользователя и пароль для подключения к базе данных.
Делаем запрос на выборку:
$result = ibase_query(«SELECT * FROM users»);
* в данном запросе предполагается, что мы обращаемся к таблице users . Результат запроса помещаем в переменную $result .
Перебираем массив полученных результатов:
while ($mass = ibase_fetch_object($result)) {
print_r($mass);
}
Проблема может возникнуть при сборке модуля для php-7.2, когда мы выполняем команду make .
В каталоге с распакованным исходником нет нужного файла (ibase.h).
Находим в системе файл ibase.h командой:
find / -name «ibase.h»
В моем случае, файл был найден по пути:
/usr/include/firebird/ibase.h
Создаем симлинк на данный файл в каталоге с исходником:
ln -s /usr/include/firebird/ibase.h /tmp/php-*/ext/interbase/
* где /usr/include/firebird/ibase.h — путь, который был найден с помощью команды find; /tmp/php-*/ext/interbase/ — путь до распакованного исходника.
Другие инструкции, которые могут вас заинтересовать.
Zulip — программное обеспечение для реализации корпоративного чата. Разработан в 2012 году, в 2014 был…
Zookeeper — cервис-координатор, который позволяет обеспечить контроль синхронизации данных. Разработан на Java компанией Apache Software…
Zimbra — программное обеспечение для реализации почтового сервиса или, если сказать точнее, автоматизации совместной деятельности…
Zabbix — бесплатная система мониторинга. Позволяет отслеживать состояние сетевых узлов, компьютеров и серверов. Возможности: Поддержка…
YouTube — компания-владелец одноименного портала для просмотра и хранения видео. Чтобы пользоваться данным порталом достаточно…
Yota — провайдер, предоставляющий доступ к сети Интернет по беспроводной связи. Впервые, сервис начал работать…