GitXplorerGitXplorer
f

php-environment

public
0 stars
0 forks
0 issues

Commits

List of commits on branch master.
Unverified
25341ad7a9d1935f1a5d8f143387675b64efb318

Vuelvo a modificar el Readme

committed 5 years ago
Unverified
ecb06437d4f3ee4d37b4f57c3f9a88348e69b096

Actualizo Readme con las instrucciones de instalación de XDebug

committed 5 years ago
Unverified
80e1f3ad8b79a97cf84ada5108a3130c7ca7c205

Merge branch 'add-xdebug' into 'master'

ffranciscosantamaria committed 5 years ago
Unverified
ede8f87f0c30a1f9bb98fc8b667138b69c0c4727

Add Xdebug configuration

mmoycarretero committed 5 years ago
Unverified
390c8c695dc3c7d95f14809fea93c80ae0ffcd32

Merge branch 'feature/update-image-build' into 'master'

ffranciscosantamaria committed 5 years ago
Unverified
6d99fb5497aa800d3ca06bcf6987cfced6bf3300

Some tweaks in docker configuration

ffranciscosantamaria committed 5 years ago

README

The README file for this repository.

Instrucciones

Este repositorio contiene los pasos para crear una imagen de docker que contenga php, extensiones para la BBDD y alguna más para tratar con imágenes.

Igualmente tiene composer instalado y el instalador de symfony.

Instrucciones para configurar XDEBUG en Visual Studio Code

Para configurar XDebug en VS Code y usarlo en este proyecto, hay que realizar los siguientes pasos:

  • Instalar la extensión "PHP Debug" en VS Code.
  • Abrir el proyecto en VS Code en la carpeta raiz, al mismo nivel que están los fichero Dockerfile y docker-compose.yml
  • Sobre el menú de la izquierda, pulsar en la opción "Run" (representado con un triángulo que simboliza el "play" de un vídeo, bajo el dibujo de una cucaracha, "bug" en inglés)
  • Pinchar sobre "create a launch.json file"
  • Copiar el siguiente JSON:
{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Listen for XDebug",
            "type": "php",
            "request": "launch",
            "port": 9003,
            "externalConsole": false,
            "pathMappings": {
                "/var/www/html": "${workspaceRoot}",
            },
            "ignore": [
                "**/vendor/**/*.php"
            ]
        }
    ]
}
  • Abrir un terminal, y ejecutar el comando "ifconfig"
  • Obtener la dirección IP de la red llamada "docker0". Suele ser un número que empiece en 192.168 ó bien en 172
  • Si la IP es distinta a 192.168.0.1, ir al fichero build/php/xdebug.ini, y poner el valor correcto en el parámetro xdebug.client_host

Ejecución del contenedor

Disponemos de un fichero docker-compose.yml con el que levantar el contenedor y al mismo tiempo creará la imagen de Docker.

Antes de levantar el contenedor tenemos que modificar el fichero docker-compose.yml y sustituir los valores de user y uid por los que correspondan.

En el fichero de ejemplo están kiko y 1000

nota: también se utiliza el valor 1000 para decirle al servidor Apache que se ejcute con dicho id.

El valor 1000 es id por defecto que se crea (en distribuciones Linux como por ejemplo Ubuntu), para el primer usuario, por lo tanto es posible que os sirva, lo único que tenéis que hacer es es cambiar el nombre de usuario por el de vuestro usuario en vuestra máquina.

Para saber el uid y el nombre de usuario ejecutar lo siguiente:

id

dando como resultado algo parecido a esto:

uid=1000(kiko) gid=1000(kiko) groups=1000(kiko),4(adm).......

Si solamente queremos crear la imagen:

docker-compose build

Para levantar el contenedor:

docker-compose up -d

Una vez levantado, podemos asegurarnos que está todo correcto ejecutando:

docker-compose ps

Para 'entrar' en el contenedor utilizaremos la opción -u para indicar el usuario creado anteriormente:

docker-compose exec -u kiko webserver bash

El puerto utilizado es el 8080, asi que solamente tendréis que crear algún fichero en el raiz y acceder a la url http://localhost:8080 de vuestro navegador y ver que se ejecuta correctamente.