symfony / http-kernel mit phpstorm & docker phpunit & xdebug

[1. Quelle herunterladen](# 1-Quelle herunterladen) [2.docker-Einstellungen](# 2-Docker-Einstellungen) [3. phpstorm-Einstellungen](# 3-phpstorm-Einstellungen)

1. Quelle herunterladen

git clone https://github.com/symfony/http-kernel.git

2. Docker-Einstellungen

cd ./http-kernel
mkdir docker
touch docker/Dockerfile
touch docker/php.ini
touch docker-compose.yml

Dockerfile


FROM php:7.4

RUN pecl install xdebug \
    && docker-php-ext-enable xdebug

RUN apt-get update && \
    apt-get upgrade -y && \
    apt-get install -y git

php.ini


; timezone
date.timezone = Asia/Tokyo

; error reporing
log_errors = On
error_log = /dev/stderr

; xdebug
xdebug.remote_enable = 1
xdebug.remote_autostart = 1
xdebug.remote_connect_back = 1

docker-compose.yml


version: "3"
services:
  php-cli:
    build: ./docker
    volumes:
      - ./:/var/www/html
      - ./docker/php.ini:/usr/local/etc/php/php.ini
    working_dir: /var/www/html
  composer:
    image: composer
    volumes:
      - ./:/app
      - ./docker/php.ini:/usr/local/etc/php/php.ini
    working_dir: /app
  1. Composer Install
docker-compose run composer install
docker-compose run composer require --dev symfony/phpunit-bridge

Phpunit / phpunit wird übrigens nicht verwendet. [^ 1]

The PHPUnit bridge is designed to work with all maintained versions of Symfony components, even across different major versions of them. You should always use its very latest stable major version to get the most accurate deprecation report.

Ich erhalte eine Fehlermeldung, wenn ich es benutze.

docker-compose run php-cli ./vendor/bin/phpunit Tests/
[25-Oct-2020 07:28:39 Asia/Tokyo] PHP Fatal error:  Trait 'Symfony\Bridge\PhpUnit\ExpectDeprecationTrait' not found in /var/www/html/Tests/Controller/ContainerControllerResolverTest.php on line 21

Hinweis

docker-compose run composer ./vendor/bin/simple-phpunit

Installieren Sie phpunit / phpunit von symfony / phpunit-bridge, indem Sie ausführen

3. phpstorm Einstellungen

File > Settings > Languages & Frameworks > PHP

Stellen Sie phpstorm so ein, dass Dockers PHP ausgeführt wird

Klicken Sie ganz rechts im CLI-Interpreter auf ... Screenshot from 2020-10-25 07-33-45.jpg

Klicken Sie auf die zusätzliche Schaltfläche + und wählen Sie From Docker, ... Screenshot from 2020-10-25 07-34-02.png

Aktivieren Sie Docker-compose und wählen Sie den PHP-Dienst (in diesem Fall PHP-CLI) aus, der vom Docker ausgeführt werden soll. Screenshot from 2020-10-25 07-34-26.png

Wenn Sie OK drücken und PHP geladen wird und Version usw. angezeigt wird, gibt es kein Problem Screenshot from 2020-10-25 07-34-43.png

Phpunit File > Settings > Languages & Frameworks > PHP > Test Frameworks

Stellen Sie phpstorm so ein, dass phpunit im Docker ausgeführt wird

Wählen Sie PHPUnit by Remote Interpreter über die zusätzliche Schaltfläche + aus Screenshot from 2020-10-25 07-37-21.png

Wählen Sie php-cli Screenshot from 2020-10-25 07-37-40.png

  1. Überprüfen Sie den Pfad zu phpunit.phar in der PHPUnit-Bibliothek
  2. Pfad zu phpunit.phar `` `/ var / www / html / vendor / bin / simple-phpunit```
  3. Überprüfen Sie die Standardkonfigurationsdatei von Test Runner und überprüfen Sie `` `/ var / www / html / phpunit.xml.dist```

Screenshot from 2020-10-25 10-00-25.png

Ausführen

Wählen Sie die Bearbeitungskonfiguration mit dem Selektor links neben dem Fehlersymbol oben rechts im Editor Wenn der Bildschirm geöffnet wird, wählen Sie Phpunit über die zusätzliche Schaltfläche + und stellen Sie es wie folgt ein Screenshot from 2020-10-25 09-56-18.png

Fügen Sie den Haltepunkt ein und klicken Sie auf das Fehlersymbol, wobei simple-phpunit ausgewählt ist

Screenshot from 2020-10-25 08-30-20.png

Recommended Posts

symfony / http-kernel mit phpstorm & docker phpunit & xdebug
Wenn Sie mit PHPStorm und xdebug auf Docker stecken bleiben. Fehlerbehebung
Schreiben Sie solide mit PhpStorm
Starten Sie MariaDB mit Docker
Verwenden Sie Puphpeteer mit Docker
Bedienen Sie Emby mit Docker
Führen Sie Payara mit Docker aus
Einweg-PHP mit Docker