Guides for installing php extensions from php-alpine dockerfile?
Hi I'd appreciate some feedback as I'm new in docker. I'm trying to create some php images from php-alpine in order to use for my personal local development (so it won't be really something I'm planing to use in production) for my Laravel or any other PHP applications.
This is the Dockerfile I'm creating
FROM php:7.2-fpm-alpine
# TODO - Install various PHP extensions
RUN pecl install redis
&& pecl install xdebug
&& docker-php-ext-enable redis xdebug
# Install Composer
RUN apk update && apk add curl &&
curl -sS https://getcomposer.org/installer | php
&& chmod +x composer.phar && mv composer.phar /usr/local/bin/composer
WORKDIR /var/www/html
RUN chmod +x artisan
RUN composer dump-autoload --optimize && composer run-script post-install-cmd
CMD php artisan serve --host 0.0.0.0 --port 8000
but I'm struggling a little bit to find out how to install various PHP extensions. I've gone through the official documentation, but its a little bit hard to follow as I don't think it has many details.
Is there a gist or any other source available that gives details for how to install all available extensions for each php version, how to make php ini overwrites or if any additional config files required for an extension etc?
php docker dockerfile
add a comment |
Hi I'd appreciate some feedback as I'm new in docker. I'm trying to create some php images from php-alpine in order to use for my personal local development (so it won't be really something I'm planing to use in production) for my Laravel or any other PHP applications.
This is the Dockerfile I'm creating
FROM php:7.2-fpm-alpine
# TODO - Install various PHP extensions
RUN pecl install redis
&& pecl install xdebug
&& docker-php-ext-enable redis xdebug
# Install Composer
RUN apk update && apk add curl &&
curl -sS https://getcomposer.org/installer | php
&& chmod +x composer.phar && mv composer.phar /usr/local/bin/composer
WORKDIR /var/www/html
RUN chmod +x artisan
RUN composer dump-autoload --optimize && composer run-script post-install-cmd
CMD php artisan serve --host 0.0.0.0 --port 8000
but I'm struggling a little bit to find out how to install various PHP extensions. I've gone through the official documentation, but its a little bit hard to follow as I don't think it has many details.
Is there a gist or any other source available that gives details for how to install all available extensions for each php version, how to make php ini overwrites or if any additional config files required for an extension etc?
php docker dockerfile
add a comment |
Hi I'd appreciate some feedback as I'm new in docker. I'm trying to create some php images from php-alpine in order to use for my personal local development (so it won't be really something I'm planing to use in production) for my Laravel or any other PHP applications.
This is the Dockerfile I'm creating
FROM php:7.2-fpm-alpine
# TODO - Install various PHP extensions
RUN pecl install redis
&& pecl install xdebug
&& docker-php-ext-enable redis xdebug
# Install Composer
RUN apk update && apk add curl &&
curl -sS https://getcomposer.org/installer | php
&& chmod +x composer.phar && mv composer.phar /usr/local/bin/composer
WORKDIR /var/www/html
RUN chmod +x artisan
RUN composer dump-autoload --optimize && composer run-script post-install-cmd
CMD php artisan serve --host 0.0.0.0 --port 8000
but I'm struggling a little bit to find out how to install various PHP extensions. I've gone through the official documentation, but its a little bit hard to follow as I don't think it has many details.
Is there a gist or any other source available that gives details for how to install all available extensions for each php version, how to make php ini overwrites or if any additional config files required for an extension etc?
php docker dockerfile
Hi I'd appreciate some feedback as I'm new in docker. I'm trying to create some php images from php-alpine in order to use for my personal local development (so it won't be really something I'm planing to use in production) for my Laravel or any other PHP applications.
This is the Dockerfile I'm creating
FROM php:7.2-fpm-alpine
# TODO - Install various PHP extensions
RUN pecl install redis
&& pecl install xdebug
&& docker-php-ext-enable redis xdebug
# Install Composer
RUN apk update && apk add curl &&
curl -sS https://getcomposer.org/installer | php
&& chmod +x composer.phar && mv composer.phar /usr/local/bin/composer
WORKDIR /var/www/html
RUN chmod +x artisan
RUN composer dump-autoload --optimize && composer run-script post-install-cmd
CMD php artisan serve --host 0.0.0.0 --port 8000
but I'm struggling a little bit to find out how to install various PHP extensions. I've gone through the official documentation, but its a little bit hard to follow as I don't think it has many details.
Is there a gist or any other source available that gives details for how to install all available extensions for each php version, how to make php ini overwrites or if any additional config files required for an extension etc?
php docker dockerfile
php docker dockerfile
asked Nov 20 '18 at 21:47
Lykos
1,36493567
1,36493567
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
I'm using the same base image for a project, here are snippets for all of the php extensions I use. You may need various apks, but I've got them all in a giant list so I couldn't tell you which precisely are needed. I suspect g++
and make
.
Here's how I install xdebug since you specifically mentioned it
RUN git clone https://github.com/xdebug/xdebug.git
&& cd xdebug
&& git checkout tags/2.6.1
&& phpize
&& ./configure --enable-xdebug
&& make
&& make install
Installing mcrypt, I mention it only because it's the only thing I found where I needed pecl:
RUN sudo pecl install mcrypt-1.0.1 && docker-php-ext-enable mcrypt
Regular php extensions:
RUN docker-php-ext-install zip gd xml soap pdo pdo_mysql opcache
Another thing, you should probably have the following (or similar) to sort out your PHP configs.
RUN mv /usr/local/etc/php/php.ini-development /usr/local/etc/php/php.ini
COPY php.ini /usr/local/etc/php/conf.d/php.ini
COPY php-fpm.conf /usr/local/etc/php-fpm.d/zz-docker.conf
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53402076%2fguides-for-installing-php-extensions-from-php-alpine-dockerfile%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
I'm using the same base image for a project, here are snippets for all of the php extensions I use. You may need various apks, but I've got them all in a giant list so I couldn't tell you which precisely are needed. I suspect g++
and make
.
Here's how I install xdebug since you specifically mentioned it
RUN git clone https://github.com/xdebug/xdebug.git
&& cd xdebug
&& git checkout tags/2.6.1
&& phpize
&& ./configure --enable-xdebug
&& make
&& make install
Installing mcrypt, I mention it only because it's the only thing I found where I needed pecl:
RUN sudo pecl install mcrypt-1.0.1 && docker-php-ext-enable mcrypt
Regular php extensions:
RUN docker-php-ext-install zip gd xml soap pdo pdo_mysql opcache
Another thing, you should probably have the following (or similar) to sort out your PHP configs.
RUN mv /usr/local/etc/php/php.ini-development /usr/local/etc/php/php.ini
COPY php.ini /usr/local/etc/php/conf.d/php.ini
COPY php-fpm.conf /usr/local/etc/php-fpm.d/zz-docker.conf
add a comment |
I'm using the same base image for a project, here are snippets for all of the php extensions I use. You may need various apks, but I've got them all in a giant list so I couldn't tell you which precisely are needed. I suspect g++
and make
.
Here's how I install xdebug since you specifically mentioned it
RUN git clone https://github.com/xdebug/xdebug.git
&& cd xdebug
&& git checkout tags/2.6.1
&& phpize
&& ./configure --enable-xdebug
&& make
&& make install
Installing mcrypt, I mention it only because it's the only thing I found where I needed pecl:
RUN sudo pecl install mcrypt-1.0.1 && docker-php-ext-enable mcrypt
Regular php extensions:
RUN docker-php-ext-install zip gd xml soap pdo pdo_mysql opcache
Another thing, you should probably have the following (or similar) to sort out your PHP configs.
RUN mv /usr/local/etc/php/php.ini-development /usr/local/etc/php/php.ini
COPY php.ini /usr/local/etc/php/conf.d/php.ini
COPY php-fpm.conf /usr/local/etc/php-fpm.d/zz-docker.conf
add a comment |
I'm using the same base image for a project, here are snippets for all of the php extensions I use. You may need various apks, but I've got them all in a giant list so I couldn't tell you which precisely are needed. I suspect g++
and make
.
Here's how I install xdebug since you specifically mentioned it
RUN git clone https://github.com/xdebug/xdebug.git
&& cd xdebug
&& git checkout tags/2.6.1
&& phpize
&& ./configure --enable-xdebug
&& make
&& make install
Installing mcrypt, I mention it only because it's the only thing I found where I needed pecl:
RUN sudo pecl install mcrypt-1.0.1 && docker-php-ext-enable mcrypt
Regular php extensions:
RUN docker-php-ext-install zip gd xml soap pdo pdo_mysql opcache
Another thing, you should probably have the following (or similar) to sort out your PHP configs.
RUN mv /usr/local/etc/php/php.ini-development /usr/local/etc/php/php.ini
COPY php.ini /usr/local/etc/php/conf.d/php.ini
COPY php-fpm.conf /usr/local/etc/php-fpm.d/zz-docker.conf
I'm using the same base image for a project, here are snippets for all of the php extensions I use. You may need various apks, but I've got them all in a giant list so I couldn't tell you which precisely are needed. I suspect g++
and make
.
Here's how I install xdebug since you specifically mentioned it
RUN git clone https://github.com/xdebug/xdebug.git
&& cd xdebug
&& git checkout tags/2.6.1
&& phpize
&& ./configure --enable-xdebug
&& make
&& make install
Installing mcrypt, I mention it only because it's the only thing I found where I needed pecl:
RUN sudo pecl install mcrypt-1.0.1 && docker-php-ext-enable mcrypt
Regular php extensions:
RUN docker-php-ext-install zip gd xml soap pdo pdo_mysql opcache
Another thing, you should probably have the following (or similar) to sort out your PHP configs.
RUN mv /usr/local/etc/php/php.ini-development /usr/local/etc/php/php.ini
COPY php.ini /usr/local/etc/php/conf.d/php.ini
COPY php-fpm.conf /usr/local/etc/php-fpm.d/zz-docker.conf
answered Nov 20 '18 at 22:43
George Appleton
609427
609427
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53402076%2fguides-for-installing-php-extensions-from-php-alpine-dockerfile%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown