diff --git a/phpdocker/README.html b/phpdocker/README.html deleted file mode 100644 index d2ccaffe..00000000 --- a/phpdocker/README.html +++ /dev/null @@ -1,254 +0,0 @@ - -
-Simply, unzip the file into your project, this will create docker-compose.yml
on the root of your project and a folder
-named phpdocker
containing nginx and php-fpm config for it.
Ensure the webserver config on phpdocker/nginx/nginx.conf
is correct for your project. PHPDocker.io will have
-customised this file according to the front controller location relative to the docker-compose file you chose on the
-generator (by default public/index.php
).
Note: you may place the files elsewhere in your project. Make sure you modify the locations for the php-fpm dockerfile,
-the php.ini overrides and nginx config on docker-compose.yml
if you do so.
Dependencies:
- -Once you're done, simply cd
to your project and run docker-compose up -d
. This will initialise and start all the
-containers, then leave them running in the background.
You can access your application via localhost
. Mailhog and nginx both respond to any hostname, in case you want to
-add your own hostname on your /etc/hosts
Service | -Address outside containers | -
---|---|
Webserver | -localhost:11000 | -
MariaDB | -host: localhost ; port: 11003 |
-
PostgreSQL | -host: localhost ; port: 11004 |
-
You'll need to configure your application to use any services you enabled:
- -Service | -Hostname | -Port number | -
---|---|---|
php-fpm | -php-fpm | -9000 | -
MariaDB | -mariadb | -3306 (default) | -
Postgres | -postgres | -5432 (default) | -
Note: you need to cd first to where your docker-compose.yml file lives.
- -docker-compose up -d
docker-compose up
. You will see a stream of logs for every container running.
-ctrl+c stops containers.docker-compose stop
docker-compose kill
docker-compose logs
for all containers or docker-compose logs SERVICE_NAME
for the logs of
-all containers in SERVICE_NAME
.docker-compose exec SERVICE_NAME COMMAND
where COMMAND
is whatever you want
-to run. Examples:
-
-docker-compose exec php-fpm bash
docker-compose exec php-fpm bin/console
docker-compose exec mysql mysql -uroot -pCHOSEN_ROOT_PASSWORD
As in all server environments, your application needs the correct file permissions to work properly. You can change the -files throughout the container, so you won't care if the user exists or has the same ID on your host.
- -docker-compose exec php-fpm chown -R www-data:www-data /application/public
It's hard to avoid file permission issues when fiddling about with containers due to the fact that, from your OS point
-of view, any files created within the container are owned by the process that runs the docker engine (this is usually
-root). Different OS will also have different problems, for instance you can run stuff in containers
-using docker exec -it -u $(id -u):$(id -g) CONTAINER_NAME COMMAND
to force your current user ID into the process, but
-this will only work if your host OS is Linux, not mac. Follow a couple of simple rules and save yourself a world of
-hurt.
root
within your
-vendor folder.To configure Xdebug 2 you need add these lines in php-fpm/php-ini-overrides.ini:
- -xdebug.remote_enable = 1
-xdebug.remote_connect_back = 1
-xdebug.remote_autostart = 1
-
-
-xdebug.remote_enable = 1
-xdebug.remote_host = host.docker.internal
-xdebug.remote_autostart = 1
-
-
-To configure Xdebug 3 you need add these lines in php-fpm/php-ini-overrides.ini:
- -xdebug.mode=debug
-xdebug.discover_client_host=true
-xdebug.start_with_request=yes
-xdebug.client_port=9000
-
-
-xdebug.mode = debug
-xdebug.client_host = host.docker.internal
-xdebug.start_with_request = yes
-
-
-environment:
- PHP_IDE_CONFIG: "serverName=Docker"
-
-
- {
- "version": "0.2.0",
- "configurations": [
- {
- "name": "Docker",
- "type": "php",
- "request": "launch",
- "port": 9000,
- // Server Remote Path -> Local Project Path
- "pathMappings": {
- "/application/public": "${workspaceRoot}/"
- },
- }
- ]
- }
-
-