tpaksu / xdebug-toggle
Toggles on/of the already installed xdebug extension on php.ini file.
Requires
- illuminate/console: >=5.6
- illuminate/support: >=5.6
Requires (Dev)
- orchestra/testbench: ^4.0
- phpunit/phpunit: ^8.0
This package is auto-updated.
Last update: 2024-12-12 18:35:42 UTC
README
This package automates the XDebug extension activation/deactivation process by adding a console command to Laravel's artisan command. It does these things:
- Modifying the current INI file used by PHP, located with parsing the "php_info()" output containing the line "Loaded Configuration File: [path/to/php.ini]"
- Restarting the valet NGINX server with the command
valet restart nginx
If you use something else than Laravel Valet, and want to automate your stuff, you can change the XDEBUG_SERVICE_RESTART_COMMAND in your environment file, or the xdebugtoggle.service_restart_command
configuration in xdebug-toggle.php configuration file to suit your own.
Installation
You can install the package as a development requirement via composer:
composer require tpaksu/xdebug-toggle --dev
Usage
To enable XDebug in current environment:
php artisan xdebug on
To disable it:
php artisan xdebug off
Configuration
You can export the configuration file by running the command:
php artisan vendor:publish --provider="Tpaksu\XdebugToggle\XdebugToggleServiceProvider"
which includes:
service_restart_command : Gives you the option to run a script after you change the php.ini line with the new XDebug status. The default is
valet restart nginx
which applies the new php.ini configuration on the PHP running on valet's nginx server.
I tried and succeded with this command on Windows running Laragon with nginx:
c:/laragon/bin/nginx/nginx-1.12.0/nginx.exe -p c:/laragon/bin/nginx/nginx-1.12.0 -c conf/nginx.conf -s reload
which I changed with setting this environment variable on .env
and ran php artisan config:cache
to apply the environment changes:
XDEBUG_SERVICE_RESTART_COMMAND="c:/laragon/bin/nginx/nginx-1.12.0/nginx.exe -p c:/laragon/bin/nginx/nginx-1.12.0 -c conf/nginx.conf -s reload"
I could change the configuration setting on config/xdebug-toggle.php
file too. This would also be a valid modification on the path.
Note: Don't forget to run php artisan config:cache
to apply new settings when you change any .env
parameter or configuration setting. Not only for this package, for all changes inside Laravel.
Testing
Any tests written yet. But I suppose I should.
Changelog
Please see CHANGELOG for more information what has changed recently.
Contributing
Please see CONTRIBUTING for details. Any contributions are welcome.
Security
If you discover any security related issues, please email tpaksu@gmail.com instead of using the issue tracker.
Credits
License
The MIT License (MIT). Please see License File for more information.