VS Code has an extension, Visual Studio Code Remote - Containers, that allows us to use a docker container as a full-featured development environment. It allows us to open any folder inside (or mounted into) a container and take advantage of Visual Studio Code's full feature set.
For PHP Development, this is the container we build in order to take advantage of this awesome feature!
We build the image off of the BaseImage-PHP, which itself is built on phusion/baseimage-docker in order to give us a fully working OS for our development environment.
We provide builds for last few PHP releases, so it is trivial to change from one project to another when the projects use different versions of PHP. BaseImage-PHP gives us the following extensions out of the gate.
Core | ctype | date | dom |
fileinfo | filter | ftp | hash |
iconv | json | libxml | pcre |
PDO | Phar | posix | standard |
Reflection | session | SimpleXML | SPL |
tokenizer | xml | xmlreader | xmlwriter |
bcmath | bz2 | calendar | curl |
exif | gd | gettext | intl |
mbstring* | mysqli | mysqlnd | opcache |
openssl* | pcntl | pdo_mysql | pdo_psql |
pdo_sqlite | pdo_sqlsrv | pgsql | readline* |
redis | soap | sockets | sodium |
sqlite3 | sqlsrv | unixODBC | xdebug |
xsl | yaml | zip* | zlib* |
* These extensions are enabled by default.
There are some common tools that PHP Developers keep around, we have made it a point to pre-install them and ensure they are on the path.
* Deprecated in PHP 7.4 try to use pickle instead.
All images are currently based on Ubuntu 18.04 on which we provide standard php builds for PHP 7.2, 7.3, 7.4, and 8.0.