Is it possible to install PHP7.4 on stock Alpine 3.12 Docker image?
I have seen this repo and its dockerfile which is using bintray cert and repository path, but I was wondering if there is a more "standard/Alpine" way of doing this natively?
Is it possible to install PHP7.4 on stock Alpine 3.12 Docker image?
I have seen this repo and its dockerfile which is using bintray cert and repository path, but I was wondering if there is a more "standard/Alpine" way of doing this natively?
You can use below Docker image.
FROM alpine:3.12
RUN apk add --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/edge/community php
RUN php -v
output
Step 3/3 : RUN php -v
---> Running in 9900e66f4b71
PHP 7.4.7 (cli) (built: Jun 14 2020 23:46:20) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
apine:edge
is a development branch, it will not only install PHP from development branch but all other packages too. while in the above docker image rest package will be used from alpine:3.12
only the php7.4
will be installed from dev branch. –
Celebrity igbinary.so: php_error_docref0: symbol not found
in the example –
Liverpool If you want to see a full fledged example it's always best to investigate the vendor's Dockerfile
.
This is from image php:7.4-fpm-alpine3.12
:
As you can see, they add a lot of stuff to ensure PHP runs smooth and startup / context problems are solved.
Use alpine edge:
FROM alpine:edge
RUN apk add php
RUN php -v
This is update to Adiii answer suggesting to mix two alpine versions (3.12
and edge
), this is terrible outcome, and difficult to understand what went wrong. You may end up with library errors, because it mixed one package from 3.12
and other package from edge
:
/ # php -m
PHP Warning: PHP Startup: Unable to load dynamic library 'igbinary.so' (tried: /usr/lib/php7/modules/igbinary.so (Error relocating /usr/lib/php7/modules/igbinary.so: php_error_docref0: symbol not found), /usr/lib/php7/modules/igbinary.so.so (Error loading shared library /usr/lib/php7/modules/igbinary.so.so: No such file or directory)) in Unknown on line 0
© 2022 - 2024 — McMap. All rights reserved.
FROM alpine:edge
, I've written this as an answer instead of a comment to include the details: https://mcmap.net/q/968187/-is-it-possible-to-install-php7-4-on-stock-alpine-3-12-docker-image – Liverpool