yii-docker
yii-docker copied to clipboard
Official Docker images suitable for Yii 3.0+
Yii 3.x PHP Docker Image
This is the repo of the official Yii 3.x Framework image on DockerHub for PHP.
About
These Docker images are built on top of the official PHP Docker image, they contain additional PHP extensions required to run Yii 3.x framework, but no code of the framework itself.
The Dockerfile(s) of this repository are designed to build from different PHP-versions by using build arguments.
Features
- built from official Docker images
- all core-framework tests pass
- includes Xdebug (not loaded by default)
- ready for handling client-side packages
- bash auto-completion
fpm-nginximages with built-in webserver (like Apache)
Available versions for yiisoftware/yii-php
The following images are built on a weekly basis for arm64 and amd64. For regular commits on master we only build images for amd64 suffixed with -latest/-latest-min.
Minimal images
8-2-apache-min
8-1-apache-min
8.0-apache-min
8.2-fpm-min
8.1-fpm-min
8.0-fpm-min
8.2-fpm-nginx-min
8.1-fpm-nginx-min
8.0-fpm-nginx-min
Development images, include npm and composer
8.2-apache
8.1-apache
8.0-apache
8.2-fpm
8.1-fpm
8.0-fpm
8.2-fpm-nginx
8.1-fpm-nginx
8.0-fpm-nginx
Deprecated images
7.4-apache-min
7.4-fpm-min
7.4-fpm-nginx-min
7.4-apache
7.4-fpm
7.4-fpm-nginx
Setup
cp .env-dist .env
Adjust the versions in .env if you want to build a specific version.
Note: Please make sure to use a matching combination of
DOCKERFILE_FLAVOURandPHP_BASE_IMAGE_VERSION
Configuration
PHP_ENABLE_XDEBUGwhether to load an enable Xdebug, defaults to0(false) not available in-minimagesPHP_USER_ID(Debian only) user ID, when running commands as webserver (www-data), see also #15SUPERVISOR_START_FPM(nginx-flavor only) whether to start PHP-fpm by supervisor (default:true)SUPERVISOR_START_NGINX(nginx-flavor only) whether to start nginx by supervisor (default:true)
Building
docker-compose build
Testing
docker-compose run --rm php php /tests/requirements.php
Xdebug
To enable Xdebug, set PHP_ENABLE_XDEBUG=1 in .env file
Xdebug is configured to call ip xdebug.remote_host on 9005 port (not use standard port to avoid conflicts),
so you have to configure your IDE to receive connections from that ip.
If you are using macOS, you can fill xdebug.remote_host with host.docker.internal, due to a network limitation on mac (https://docs.docker.com/docker-for-mac/networking/#port-mapping)
(macOS) configuration
xdebug.remote_host=host.docker.internal
Documentation
- Guide
Support
If you need help or have a question, the Yii Forum is a good place for that. You may also check out other Yii Community Resources.
Support the project
Follow updates
License
The Yii 3.x PHP Docker Image is free software. It is released under the terms of the BSD License.
Please see LICENSE for more information.
Maintained by Yii Software.