Toto je odpadkový príspevok slúžiaci predovšetkým na uloženie všetkých odkazov, ktoré som mal otvorené v taboch. Možno to znovu potrebujem alebo to niekomu pomôže. Nižšie môžu byť neúplné, chýbajúce alebo protichodné informácie, takže to berte s rezervou.
Dockerfile #
Nech je obsah vášho Dockerfile akýkoľvek, pridajte tieto riadky niekde na
vhodné miesto, zvyčajne pred EXPOSE alebo COPY:
RUN apk add --no-cache $PHPIZE_DEPS linux-headers && \
pecl install xdebug && docker-php-ext-enable xdebug
docker-compose.yml #
Základ pre docker-compose.yml je nižšie. Všimnite si .ini súbory v
volumes:
version: "3.9"
services:
app:
build:
context: ./
dockerfile: Dockerfile
image: php-fpm-81
container_name: my-app
restart: unless-stopped
tty: true
working_dir: /var/www
volumes:
- ./:/var/www
- ./docker/php/conf.d/xdebug.ini:/usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
- ./docker/php/conf.d/error_reporting.ini:/usr/local/etc/php/conf.d/error_reporting.ini
error_reporting.ini #
Obsah error_reporting.ini je jednoduchý a v skutočnosti by mohol byť
vynechaný, ale chceme debugovať:
error_reporting=E_ALL
xdebug.ini #
Obsah docker-php-ext-xdebug.ini je najdôležitejší:
zend_extension=xdebug
[xdebug]
xdebug.client_host=host.docker.internal
xdebug.client_port=9003
xdebug.discover_client_host=true
xdebug.idekey=VSCODE
xdebug.mode=develop,debug
xdebug.start_with_request=yes
launch.json #
Hoci používam neovim na všetko, na debugovanie som si ho ešte nestihol
nastaviť. Príležitostné debugovanie cez vscode mi zatiaľ stačí:
{
"version": "0.2.0",
"configurations": [
{
"name": "Listen for Xdebug",
"type": "php",
"request": "launch",
"port": 9003,
"pathMappings": {
"/var/www/": "${workspaceFolder}"
}
}
]
}
Pre debugovanie cez docker-compose a vscode by to malo stačiť. Užívajte!
Odkazy #
- https://code.visualstudio.com/api/extension-guides/debugger-extension
- https://dev.to/jackmiras/xdebug-in-vscode-with-docker-379l
- https://dev.to/oranges13/phpstorm-xdebug-alpine-on-docker-13ff
- https://matthewsetter.com/setup-step-debugging-php-xdebug3-docker/
- https://php.tutorials24x7.com/blog/how-to-debug-php-using-xdebug-visual-studio-code-and-docker-on-ubuntu
- https://stackoverflow.com/questions/46825502/how-do-i-install-xdebug-on-dockers-official-php-fpm-alpine-image
- https://torbjornzetterlund.com/xdebug-a-php-docker-container-in-vs-code/
- https://www.appsloveworld.com/docker/100/163/how-to-add-xdebug-to-php8-1-fpm-alpine-docker-container