GitXplorerGitXplorer
f

php-environment

public
0 stars
0 forks
0 issues

Commits

List of commits on branch master.
Unverified
ccbe14ae3eb66cb8ad8920469a287d5b840db863

Update to PHP version 8.1

ffranciscosantamaria committed 3 years ago
Unverified
0fd2c6d1619a3978ae32aeca5d9b8ab933ca5ab8

Changes to still have PHP 7.4 version

ffranciscosantamaria committed 4 years ago
Unverified
87d4edd1fa28cb00b50da4b533b8947092778239

Merge branch 'bugfix-xdebug' into 'master'

ffranciscosantamaria committed 4 years ago
Unverified
32241fa443b2450ab21c67bbd9b18f662d0912d1

Fix error with xdebug configuration

ffranciscosantamaria committed 4 years ago
Unverified
aabd9def15cb9fa1d6e1f967ba02b6410984c5bd

Merge branch 'feature/upgrade-php-and-xdebug' into 'master'

mmoycarretero committed 4 years ago
Unverified
62c936c88cce917e74700e716965999985581f74

Update to PHP 8, and Xdebug 3

ffranciscosantamaria committed 4 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.