Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rimelek/docker-php-before-2022
MOVED to rimelek/docker-php. PHP images based on the official versions with additional helper scripts
https://github.com/rimelek/docker-php-before-2022
deprecated docker docker-image docker-php php php56 php7 php71
Last synced: about 1 month ago
JSON representation
MOVED to rimelek/docker-php. PHP images based on the official versions with additional helper scripts
- Host: GitHub
- URL: https://github.com/rimelek/docker-php-before-2022
- Owner: rimelek
- Archived: true
- Created: 2016-07-03T22:22:01.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2023-03-29T20:52:57.000Z (over 1 year ago)
- Last Synced: 2024-09-25T19:59:56.204Z (about 1 month ago)
- Topics: deprecated, docker, docker-image, docker-php, php, php56, php7, php71
- Language: Shell
- Homepage: https://github.com/rimelek/docker-php
- Size: 38.1 KB
- Stars: 2
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# README
!!! IMPORTANT !!!: The new repository is https://github.com/rimelek/docker-php
Years ago I made a mistake and pushed the repository in a new namespace instead of using GitHub's "transfer" feature so I had two repository with common history. Now I decided to move the project back to the old namespace "rimelek". Since both of the repositories have followers, stars or forks, I keep this repository too, but I recommend everyone to use the new one linked above.
---
## Introduction
This repository contains the source to build multiple PHP versions based on the [official Docker images of PHP](https://hub.docker.com/_/php/).
For now, the following versions are supported:- PHP 5.6 FPM
- PHP 7.0 FPM
- PHP 7.1 FPM
- PHP 7.2 FPM
- PHP 7.3 FPM
- PHP 7.4 FPM
- PHP 8.0 FPM (experimental)It makes easier to install an extension without knowing which dependencies you need to install or how you have to configure
the dependencies before running the official docker-php-ext-install.Only thing you need to do is specifying which extensions you want to be installed. You can also install every supported
extension if you do not specify any extension to install.The "common" directory is a collection of files that will be copied to each specific PHP version's directory when you run "./prepare -s PATH".
Replace PATH with the actual path to a Dockerfile.**Example**
```bash
./prepare.sh -s 7.4/fpm
```
**Tip:**: It is recommended to pull the already [built images](https://hub.docker.com/r/itsziget/php/) from Docker Hub.
## oci8 and pdo_oci extensionsIf you need to use oci8 and pdo_oci extensions, you have to download some files from Oracle's website. Follow the steps below
to install the extensions* Download the Basic and SDK package of Oracle Instant Client from the official source (you need to accept a license):
[http://www.oracle.com/technetwork/database/features/instant-client/index.html](http://www.oracle.com/technetwork/database/features/instant-client/index.html)
* Copy the contents of instantclient_xx.x directory from each package into `/fpm/opt/oracle/instantclient`
* You can build the image now using prepare.sh and docker. See in the next chapter.**Tip:** Faster way is building a custom image from existing images on Docker Hub.
```dockerfile
FROM itsziget/php:7.4-fpmCOPY oracle/instantclient /opt/oracle/instantclient
RUN re-php-install-ext oci8 && re-php-install-ext pdo_oci
```
In this case copy the contents of "instantclient" directory to ./oracle/instantclientThen you can save the new image into your own private repository.
## Build an image
Make sure the root folder is writable!
Install all supported extensions:
```bash
./prepare.sh -s 7.4/fpm
cd build/7.4/fpm
docker build -t myphpimage .
```
or install only some specified additional extensions:```bash
./prepare.sh -s 7.4/fpm
cd build/7.4/fpm
docker build --build-arg PHP_EXT_GROUP=none PHP_EXT="gd bz2" --build-arg PECL_EXT_GROUP=none -t myphpimage
```You can change 7.4 to any supported version like 5.6, 7.0, 7.1, 7.2 or 7.3