Как заставить PHP 7.1 общаться с PostgreSQL на RHEL 7?

Запуск установки Laravel на сервере RedHat Enterprise Linux 7 с использованием PHP 7.1. Я вижу php-pgsql.x86_64 в списке доступных пакетов yum, но он не совместим с PHP 7.1 (и действительно указан как версия 5.4.16-43.el7_4.1).

Ради шутки я все равно попытался установить его и физически переместил файлы pgsql.ini и pdo_pgsql.ini из /etc/php.d в соответствующую папку PHP 7.1 /etc/opt/rh/rh-php71/php.d/ (и сделал то же самое с файлами .so, на которые они ссылаются), но это возвращает ошибку, указывающую, что пакет не может не читается (undefined symbol: file_globals_id in Unknown on line 0).

Кому-нибудь удалось заставить PHP 7.1 общаться с PostgreSQL на RHEL 7?


person Josh    schedule 04.04.2018    source источник
comment
Коллега-сисадмин предложил мне использовать ius.io как возможность. Установка репозитория RHEL7 действительно улучшает мои yum search результаты: php71u-pgsql.x86_64 : A PostgreSQL database module for PHP Попробую и отчитаюсь.   -  person Josh    schedule 04.04.2018


Ответы (1)


Сисадмин, который изначально создал для меня сервер, вразумил меня. Проблема заключалась в том, что я искал в неправильном репозитории пакеты, необходимые для моей конкретной установки PHP. Выполнение следующих двух команд помогло:

sudo yum install --disablerepo=* --enablerepo=rhui-REGION-rhel-server-rhscl rh-php71-php-odbc

sudo yum install --disablerepo=* --enablerepo=rhui-REGION-rhel-server-rhscl rh-php71-php-pgsql

Затем мы добавили эти два пакета в Ansible playbook, чтобы будущие поколения не страдали без нужды.

person Josh    schedule 06.04.2018