Reputation: 578
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.
Upvotes: 11
Views: 17782
Reputation: 871
For alpine that helps:
RUN apk add --no-cache postgresql-dev && \
docker-php-ext-install pdo pdo_pgsql
Upvotes: 1
Reputation: 960
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
Upvotes: 25
Reputation: 840
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.
Upvotes: 5