Docker: PHP Запуск: невозможно загрузить динамическую c библиотеку 'pg sql' - PullRequest
1 голос
/ 19 июня 2020

Я пытаюсь запустить приложение CodeIgniter (PHP framework) в контейнере Docker и получаю следующую ошибку:

Message: PHP Startup: Unable to load dynamic library 'pgsql' 
(tried: /usr/local/lib/php/extensions/no-debug-non-zts-20190902/pgsql 
(/usr/local/lib/php/extensions/no-debug-non-zts-20190902/pgsql: 
cannot open shared object file: No such file or directory), 
/usr/local/lib/php/extensions/no-debug-non-zts-20190902/pgsql.so 
(/usr/local/lib/php/extensions/no-debug-non-zts-20190902/pgsql.so:
 cannot open shared object file: No such file or directory))

И поэтому вот это:

Message: Call to undefined function pg_pconnect()

Это мой Dockerfile:

FROM php:7.4.1-apache
RUN apt-get update && apt-get install -y libpq-dev
RUN docker-php-ext-configure pgsql -with-pgsql=/usr/local/lib/php/extension/pgsql
RUN docker-php-ext-install pdo pdo_pgsql

COPY . /var/www/html
COPY php.ini-production /usr/local/etc/php/php.ini

RUN service apache2 restart

EXPOSE 80

На php .ini у меня включено расширение вот так:

;extension=pdo_odbc
extension=pdo_pgsql
;extension=pdo_sqlite
extension=pgsql
;extension=shmop

И если я захожу в свой info . php site, я вижу, что расширения включены:

enter image description here

Я также вижу, что мой php .ini сохраняется правильно:

enter image description here

Я пробовал много предложений из разных сообщений, но вообще безуспешно.

Кто-нибудь знает, где проблема может быть?

Спасибо,

1 Ответ

1 голос
/ 19 июня 2020

Как я написал в комментарии, что вам нужно добавить pgsql:

FROM php:7.4.1-apache
RUN apt-get update && apt-get install -y libpq-dev
RUN docker-php-ext-install pgsql pdo pdo_pgsql

COPY . /var/www/html/

RUN service apache2 restart

EXPOSE 80

Я проверил эту конфигурацию, все работает нормально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...