Inhaltsverzeichnis

Xdebug Profiler installieren

Der Profiler zeigt auf, bei welchen Aufrufen die meiste Performance verloren geht.

1. Xdebug Helper by JetBrains installieren

Um in Google Chrome steuern zu können, ob der Debugger oder der Profiler aktiv sein soll ist einmal die folgende Google Chrome-Erweiterung zu installieren:

Xdebug Helper by JetBrains


2. xdebug-Verzeichnis anlegen

Über die Eingabeaufforderung CMD im Docker-Verzeichnis aufrufen und das neue Verzeichnis anlegen:

mkdir -p xdebug
CHMOD 777 xdebug

3. xdebug.ini anpassen

Notwendige Anpassung der xdebug.ini (z. B. unter docker-dev-env\.docker\php-apache):

xdebug.ini
[xdebug]
xdebug.mode=develop,debug,profile
xdebug.output_dir=/tmp/xdebug
xdebug.start_with_request=trigger

4. docker-compose.yml anpassen

Das unter Punkt 3 definierte Verzeichnis muss nun in den Volumes des jeweiligen Docker-Containers ergänzt werden:

docker-composer.yml
    volumes:
      - ./xdebug:/tmp/xdebug

5. Aufrufen

Um einen Aufruf einzuloggen muss die „Profilierung“ in der Chrome-Erweiterung „Xdebug Helper by JetBrains“ aktiviert werden.


6. Debuggen mit Postman

Wenn der xdebug.start_with_request wie in Punkt 3 beschrieben auf „trigger“ gesetzt wurde, muss in Postman ebenfalls der Cookie mitgesendet werden, damit PHP-STORM bei Breakpoints hält. Hierfür in Postmann rechts oben „Cookies“ aufrufen und folgenden Cookie bei der Domain „localhost“ hinzufügen:

XDEBUG_SESSION=PHP_STORM; Path=/; Expires=Fri, 31 Dec 2038 23:59:59 GMT;

Auswerten des Profilings

Die Auswertung kann in PHPStorm erfolgen.

„Tools“ ⇒ „Analyze Xdebug Profiler Snapshot…“ ⇒ cachegrind.out-Datei aus „xdebug“-Verzeichnis auswählen