12 - XDEBUG
XDEBUG installieren
Xdebug wurde aus dem Homebrew entfernt, und muss deshalb über PECL installiert werden.
https://xdebug.org/notes/install#pecl
// sphp 7.3
pecl uninstall -r xdebug
pecl install xdebugEntferne den Eintrag zend_extension="xdebug.so", den PECL zur oberen Zeile der php.ini hinzufügt.
codium /usr/local/etc/php/7.3/php.iniErzeuge
codium /usr/local/etc/php/7.3/conf.d/ext-xdebug.inikopiere folgendes hinein…
[xdebug]
zend_extension="xdebug.so"
xdebug.remote_enable=1
xdebug.remote_host=localhost
xdebug.remote_handler=dbgp
xdebug.remote_port=9000Server neustarten
sudo apachectl -k restartcheck: http://localhost/info.php
Tool zum schnellen Aktivieren/Deaktivieren von xdebug
curl -L https://gist.githubusercontent.com/rhukster/073a2c1270ccb2c6868e7aced92001cf/raw > /usr/local/bin/xdebug
chmod +x /usr/local/bin/xdebugxdebug
xdebug on
xdebug offWenn Xdebug immer noch in php -v erscheint kann es sein, das du den zend_extension="xdebug.so" Eintrag in der `php.ini´ nicht entfernt hast.
yaml, pecl und xdebug schnell installieren
sphp 7.3
pecl uninstall -r apcu && pecl install apcu && pecl uninstall -r yaml && pecl install yaml && pecl uninstall -r xdebug && pecl install xdebugWenn die Konfigurationsdatei einmal (conf.d/ext-[library].ini) erstellt ist, kann man sie einfach von einer PHP-Version auf eine andere kopieren.
cd /usr/local/php/5.6/conf.d
$ cp ext-apcu.ini ext-xdebug.ini ext-yaml.ini ../../7.0/conf.d
$ cp ext-apcu.ini ext-xdebug.ini ext-yaml.ini ../../7.1/conf.d
$ cp ext-apcu.ini ext-xdebug.ini ext-yaml.ini ../../7.2/conf.d
$ cp ext-apcu.ini ext-xdebug.ini ext-yaml.ini ../../7.3/conf.dXDEBUG installieren, kompilieren und einrichten
Erstelle eine info.php Datei um die PHP Info im Browser aus zu geben
echo “<?php phpinfo();” > ~/Sites/info.php
copy and paste die Ausgabe von … https://mein-projekt.test/info.php in den Wizard:
Download und unpack das dort vorgeschlagene Paket, und dann nacheinander…
cd /Users/my_username/Downloads/xdebug-2.7.2-2/xdebug-2.7.2
phpize
./configure
make
cp modules/xdebug.so /usr/local/lib/php/pecl/20180731
codium /usr/local/etc/php/7.3/php.inizend_extension muss sich unter der Zeile OPcache befinden.
xdebug und Browser
xdebug helper für den Browser installieren:
https://addons.mozilla.org/en-US/firefox/addon/xdebug-helper-for-firefox/?src=search
oder an die URL hängen…
?XDEBUG_SESSION_START=myPHPScriptIn VSCodium muss der Debugger konfiguriert werden. Dazu wird die Datei launch.json bearbeitet:
{
"name": "listen for XDebug",
"type": "php",
"request": "launch",
"port":9000
},
{
"name": "launch currently open script",
"type": "php",
"request": "launch",
"program": "${file}",
"stopOnEntry":true,
"cwd":"${fileDirname}",
"port":9000,
"runtimeExecutable": "/usr/local/bin/php"
}XDebug Session starten
- XDebug Helper im Browser aktivieren
- F9 Toggled Brakepoint
- F5 startet den Debugger