Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
| Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
|
php:xdebug_profiler [2026/04/17 09:45] webproducer angelegt |
php:xdebug_profiler [2026/04/22 09:04] (aktuell) webproducer Debug mit Postman |
||
|---|---|---|---|
| Zeile 3: | Zeile 3: | ||
| Der Profiler zeigt auf, bei welchen Aufrufen die meiste Performance verloren geht. | Der Profiler zeigt auf, bei welchen Aufrufen die meiste Performance verloren geht. | ||
| - | ===== xdebug-Verzeichnis anlegen ===== | ||
| - | CMD im Docker-Verzeichnis aufrufen und das neue Verzeichnis anlegen: | + | ===== 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: | ||
| + | |||
| + | [[https://chromewebstore.google.com/detail/xdebug-helper-by-jetbrain/aoelhdemabeimdhedkidlnbkfhnhgnhm|Xdebug Helper by JetBrains]] | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== 2. xdebug-Verzeichnis anlegen ===== | ||
| + | |||
| + | Über die Eingabeaufforderung CMD im Docker-Verzeichnis aufrufen und das neue Verzeichnis anlegen: | ||
| <code cmd> | <code cmd> | ||
| Zeile 14: | Zeile 23: | ||
| ---- | ---- | ||
| - | ===== xdebug.ini anpassen ===== | + | ===== 3. xdebug.ini anpassen ===== |
| Notwendige Anpassung der **xdebug.ini** (z. B. unter docker-dev-env\.docker\php-apache): | Notwendige Anpassung der **xdebug.ini** (z. B. unter docker-dev-env\.docker\php-apache): | ||
| Zeile 32: | Zeile 41: | ||
| ---- | ---- | ||
| - | ===== docker-compose.yml anpassen ===== | + | ===== 4. docker-compose.yml anpassen ===== |
| - | Volumes um das xdebug-Verzeichnis ergänzen | + | Das unter Punkt 3 definierte Verzeichnis muss nun in den Volumes des jeweiligen Docker-Containers ergänzt werden: |
| <code yml docker-composer.yml> | <code yml docker-composer.yml> | ||
| Zeile 43: | Zeile 52: | ||
| ---- | ---- | ||
| - | ===== Aufrufen ===== | + | ===== 5. Aufrufen ===== |
| + | |||
| + | Um einen Aufruf einzuloggen muss die "Profilierung" in der Chrome-Erweiterung "Xdebug Helper by JetBrains" aktiviert werden. | ||
| + | |||
| + | ---- | ||
| + | ===== 6. Debuggen mit Postman ===== | ||
| - | Um einen Aufruf mitzuloggen die URL um folgenden Parameter ergänzen: | + | 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: |
| <code> | <code> | ||
| - | &XDEBUG_PROFILE=1 | + | XDEBUG_SESSION=PHP_STORM; Path=/; Expires=Fri, 31 Dec 2038 23:59:59 GMT; |
| </code> | </code> | ||
| ---- | ---- | ||
| - | ===== Auswerten ===== | + | ===== Auswerten des Profilings ===== |
| Die Auswertung kann in PHPStorm erfolgen. | Die Auswertung kann in PHPStorm erfolgen. | ||
| "Tools" => "Analyze Xdebug Profiler Snapshot..." => cachegrind.out-Datei aus "xdebug"-Verzeichnis auswählen | "Tools" => "Analyze Xdebug Profiler Snapshot..." => cachegrind.out-Datei aus "xdebug"-Verzeichnis auswählen | ||