darh / php-essentials

Docker container for PHP5, composer, phpunit, phpcpd, phpdcd, phploc, pdepend, ...

Home Page:https://index.docker.io/u/darh/php-essentials/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PHP essentials

Welcome to PHP essentials Docker container.

Main purpuse of this container is to provide easy to use PHP CLI and other essential tools for debuging and testing your PHP applications.

Contents

Get it

docker pull darh/php-essentials

Run it

Container is give you PHP's interactive mode by default:

docker run --rm -i -t darh/php-essentials

Docker's run command reference manual

See enabled modules, settings:

docker run --rm -i -t darh/php-essentials php -m
docker run --rm -i -t darh/php-essentials php -i

Run PHP's internal server

(a totally useless example)

docker run --publish 80:80 --rm -t -i darh/php-essentials \
  php -S 0.0.0.0:80

The tools:

docker run --rm -i -t darh/php-essentials composer
docker run --rm -i -t darh/php-essentials pear
docker run --rm -i -t darh/php-essentials phpunit
docker run --rm -i -t darh/php-essentials phpcpd
docker run --rm -i -t darh/php-essentials phpdcd
docker run --rm -i -t darh/php-essentials phploc
docker run --rm -i -t darh/php-essentials pdepend
docker run --rm -i -t darh/php-essentials phpcs
docker run --rm -i -t darh/php-essentials phpmd
docker run --rm -i -t darh/php-essentials behat

Please note, that running things like composer autoupdate is futile as container & it's content will be removed when command finishes. If there's a newer version add an issue on Github or rebuild the php-essentials image yourself.

Use it

All above example are useless as presented as the code runs in the container and none of the examples actualy maps local files to the container:

A bit more usefull example -- adding volume param that maps the current folder and hinting PHP server where it's document root is

docker run --volume `pwd`:/opt/web/page:r --publish 80:80 --rm -t -i darh/php-essentials \
  php -S 0.0.0.0:80 -t /opt/web/page

Do you want to run this long chain every time?

Solving local/host-remote/container issue with some quick shell scripting

Include essentials.sh file (or it's contents) to bashrc or similar file. This will enable you to run all these commands as if they were installed on your local machine


Build it

In case you want to build it yourself

docker build --rm -t darh/php-essentials .

Bash

docker run --rm -i -t darh/php-essentials bash

About

Docker container for PHP5, composer, phpunit, phpcpd, phpdcd, phploc, pdepend, ...

https://index.docker.io/u/darh/php-essentials/

License:Apache License 2.0


Languages

Language:Shell 99.1%Language:PHP 0.9%