11

I've installed PHP:latest Docker container using the docker-compose command. It installed php-7.1.6-fpm in my Docker. When I tried to install php7-pgsql extension it failed to find that package, instead found pdo and pdo_pgsql packages. That will not satisfy my need. When I search for the available packages in the installed PHP container, I could not find any related pgsql packages for php7, instead, I saw php5-pgsql package, that will not work with php7-fpm.

Finally, I installed php-5.6-fpm container after removing the old one targeting to use php5-pgsql package. But now I disappointed again that I could not find php5-pgsql package in the newly installed container.

I know I'll be missing some important points. Whether Alpine Linux does not have php-pgsql extension. What are the possible ways to include this extension in my PHP container. I've also included Nginx and Postgres in my docker-compose.yml

I've only 3-day theory knowledge in Docker and first-day practical experience.

Thanks for reading.

1

3 Answers 3

25

I ran into the same issue when I was settings up a new project to use pgsql.

I am using php7, so you should be able to use it as well. On your Dockerfile ensure you're covering the following steps.

Ensure you have the dependencies installed:

RUN apt-get update && apt-get install -y libpq-dev

Configure the extension:

RUN docker-php-ext-configure pgsql -with-pgsql=/usr/local/pgsql

Install the extension:

RUN docker-php-ext-install pdo pdo_pgsql
Sign up to request clarification or add additional context in comments.

2 Comments

What exactly does configuring do and why is it necessary?
I had to add pgsql to the last code line to make it work => RUN docker-php-ext-install pdo pdo_pgsql pgsql
5

This is an old question i know, but i ran into this today and believe the above solution has changed with php:7.4-fpm-alpine

So where it used to be:

RUN apt-get update && apt-get install -y libpq-dev

Should now be:

RUN apt-get update && apt-get install -y postgresql-dev

Hopefully this helps anyone that runs into the same issue.

1 Comment

in my case in php-fpm-alpine, I RUN apk … postgresql-dev && docker-php-ext-configure pgsql -with-pgsql=/usr/local/pgsql \ && docker-php-ext-install pdo pdo_pgsql pgsql <-- adding pgsql if you want use pg_connect in PHP
1

For alpine that helps:

RUN apk add --no-cache postgresql-dev && \
docker-php-ext-install pdo pdo_pgsql

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.