artemevsin/docker-php

Prepared docker environment with PHP, Apache and MySQL

Installs: 1 437

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 1

Forks: 0

Open Issues: 0

Language:Dockerfile

v0.3.5 2021-09-15 13:58 UTC

README

Introduction

Package with prepared environment to run your PHP applications in docker containers.

This package contains PHP (5.6, 7.1, 7.2, 7.4) + Apache , MySQL and Adminer images. The package uses docker-compose tool and whole environment is started with it.

This package also contains Blackfire for better profiling your application and Selenium for running acceptance tests.

Contributing

If you find a bug or this package does not work at all on you machine, please create an issue and describe your problem. If you successfully fixed that bug, please send a pull request.

If you have some ideas, how to improve this package, please create an issue also.

Installation

Requirements

Docker and Docker-compose are required.

Installation

Linux

In root folder of your project run this command to install your dependencies. More information here

docker run --rm --interactive --tty --volume $PWD:/app composer require --dev artemevsin/docker-php

Configuration

Create new .env file (or existing one if exists) in root folder. You can use these variables to define your configuration.

  • PROJECT_NAME=myproject
  • PHP_VERSION=7
  • DOCUMENT_ROOT=/www

With default configuration your application will be available on http://myproject.local.

Usage

In root folder of your project run

vendor/bin/docker-php

MySQL

You can access MySQL DB from your app with this config:

host: mysql
user: dev
pass: dev

Blackfire

If you want to use Blackfire you can put your credentials to .env like:

BLACKFIRE_SERVER_ID=xxx
BLACKFIRE_SERVER_TOKEN=xxx

Selenium tests

For running acceptance tests with codeception you should put something like this in your acceptance.suite.yml:

actor: AcceptanceTester
modules:
    enabled:
        - WebDriver
        - \Helper\Acceptance
    config:
      WebDriver:
        url: 'http://myproject.local/'
        host: chrome
        port: 4444
        browser: chrome

Tests are started using this command:

docker exec -it myproject_webserver_1 php vendor/bin/codecept run acceptance

Credits

Created by Artem Evsin

Contact

You can contact me by sending email to artem@evsin.cz.

License

This project is licensed under MIT license.