Moin Sascha, hier das Ergebnis meiner Recherche:
Folgendes hab ich hier gefunden. Man beachte die grüne Box:
https://xdebug.org/docs/all_settings#mode
Also bist du leider gezwungen, den Mode zunächst global für alle Nutzer zu aktivieren. Nun stehst du ja wie bereits gemerkt vor diesem Problem:
space2place wrote:Nur das Problem ist das dann für alle Benutzer die Cachegrind Dateien erzeigt werden, die dann aber unter "/tmp"
Als Lösung dafür hab ich in /etc/php/8.2/mods-available/xdebug.ini einfach das Folgende bei output_dir eingetragen:
Code: Select all
zend_extension=xdebug.so
xdebug.mode = profile
xdebug.output_dir = /dev/null
Damit geht der Output standardmäßig nach /dev/null und wird sofort verworfen.
Nun gehst du in im KeyHelp in die PHP-Einstellungen des Benutzers, für den du Cachegrinds schreiben lassen möchtest und trägst dort für "output_dir" einen beliebigen anderen Pfad ein. Fortan wird nur für diesen Nutzer der log als Datei geschrieben, für alle anderen nicht mehr.
Code: Select all
xdebug.output_dir = "/home/users/test/www/xdebug/"
Perspektivisch sollte man wahrscheinlich in so einem Fall für alle Dev-Projekte einen eigenen Server nutzen und sie von den Produktiv-Projekten trennen, da xdebug ja trotzdem für jeden Request auf eines der Produktiv-Projekte die Cachegrinds schreibt, nur ihn halt direkt verwirft. Das sollte sich zumindest ein klein wenig negativ auf die Performance auswirken.
Mit freundlichen Grüßen / Best regards
Alexander Mahr
**************************************************************
Keyweb AG - Die Hosting Marke
Neuwerkstr. 45/46, 99084 Erfurt / Germany
http://www.keyweb.de -
http://www.keyhelp.de
**************************************************************