A php docker image built for pedagogical purposes. **DO NOT USE FOR PRODUCTION ENVIRONMENTS !**
4.0K
Une image docker PHP pour des besoins pédagogiques : développement en php.
Détails, exemples et code source disponibles ici : https://gitlab.univ-lorraine.fr/canals5/docker-php
Maintenant basée sur FrankenPHP !
8.3-franken : basée sur FrankenPHP8.3, latest (liste réduite d'extensions)8.3-ext(liste complète d'extensions)8.3-cli php cli uniquement, pas de serveur apache8.2 (liste réduite d'extensions)8.2-ext (liste complète d'extensions, cf. ci-dessous)8.2-cli8.1,8.1-cli8.0, 8.0-cli7.4,7.4-cli7.3, 7.3-cli7.2, 7.2-cli7.1, 7.1-cli5.6Images docker pour la création d'un container destiné à du dev. web en php. Les images sont basées sur
les images php officielle, avec les tag 8.3-apache, 8.3-cli, 8.2-apache, 8.2s-cli,8.1-apache, 8.1-cli, 8.0-apache, 8.0-cli, 7.4-apache, 7.4-cli,7.3-apache, 7.3-cli,7.2-apache, 7.2-cli, 7.1-apache, 7.1-cli, 5.6-apache,
Le dockerfile s'inspire de celui-ci, et de vaprobash
Les images sont fournies en 2 déclinaisons :
apache où php est installé sous forme d'un module apache et accompagné du serveur web apache,cli où php est utilisable uniquement en ligne de commande.mod_rewrite et mod_ssl activés,/var/www/html/var/www/html, certificat auto-signéphp8.3, php8.2, php8.1, php8.0, php7.4,php7.3,php7.2, php7.1 ou php5.6mod_php) dans les images contenant le serveur web,mbstring, curl, ftp, openssl, zlib, bcmath, bz2, calendar, dba, exif, sockets,
gd, gettext, imap, intl, mcrypt (sauf dans les images basées sur php 7.2) , soap, tidy, xmlrpc(sauf dans 8.0et 8.0-cli), xsl, zip, imagick (sauf sans 7.2-cliet 8.0, 8.0-cli`)pdo, pdo_mysql, pdo_sqlite, pdo_pgsqlxdebug, mongodb, redisLa configuration fournie est prévue pour du développement. Ne pas utiliser en production !
[PHP]
;;;;;;;;;;;;;;;;;;;;
; Language Options ;
;;;;;;;;;;;;;;;;;;;;
engine = On
short_open_tag = Off
precision = 14
output_buffering = 4096
zlib.output_compression = Off
implicit_flush = Off
;;;;;;;;;;;;;;;;;
; Miscellaneous ;
;;;;;;;;;;;;;;;;;
expose_php = On
;;;;;;;;;;;;;;;;;;;
; Resource Limits ;
;;;;;;;;;;;;;;;;;;;
max_execution_time = 60
max_input_time = 60
memory_limit = 512M
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Error handling and logging ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
error_reporting = E_ALL
display_errors = On
display_startup_errors = On
log_errors = On
log_errors_max_len = 1024
ignore_repeated_errors = Off
ignore_repeated_source = Off
report_memleaks = On
html_errors = On
;;;;;;;;;;;;;;;;;
; Data Handling ;
;;;;;;;;;;;;;;;;;
variables_order = "GPCS"
request_order = "GP"
register_argc_argv = Off
auto_globals_jit = On
post_max_size = 16M
default_mimetype = "text/html"
default_charset = "UTF-8"
;;;;;;;;;;;;;;;;;;;;;;;;;
; Paths and Directories ;
;;;;;;;;;;;;;;;;;;;;;;;;;
enable_dl = Off
;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;
file_uploads = On
upload_max_filesize = 8M
max_file_uploads = 25
;;;;;;;;;;;;;;;;;;
; Fopen wrappers ;
;;;;;;;;;;;;;;;;;;
allow_url_fopen = On
allow_url_include = Off
default_socket_timeout = 60
Il est conseillé de monter les volumes correspondant aux docroot des vhosts créés : vhost par défaut s'il est utilisé, vhost spécifique.
$ docker run -d --name vhost-php \
-e "VHOST_HOSTNAME=vost.php.local" \
-e "VHOST_DOCROOT=/var/www/vost" \
-p 9080:80 -p 9443:443 \
-v $(PWD)/html:/var/www/html \
-v $(PWD)/api:/var/www/vost \
-v $(PWD)/src:/var/www/src \
canals/php:latest
$ docker run -it --rm \
-v "$PWD":/var/php \
-w /var/php \
canals/php:8.2-cli \
php prog.php
$ docker run --rm -it \
-p 8000:8000 \
-v "$PWD":/var/php \
-w /var/php \
canals/php:8.2-cli \
php -S 0.0.0.0:8000
Pour adapter l'image à des besoins particuliers, le plus simple est de créer un Dockerfile et de l'utiliser pour installer des extensions, pour copier un fichier de configuration ou pour déclarer un volume spécifique.
.ini dans le répertoire /usr/local/etc/php/FROM canals/php:8.2-ext
RUN pecl install mailparse \
&& docker-php-ext-enable mailparse
COPY local.ini /usr/local/etc/php/
Content type
Image
Digest
sha256:fa1abfe93…
Size
195.4 MB
Last updated
about 2 years ago
docker pull canals/php:8.3-franken