https://github.com/tpaksu/xdebug-toggle
An XDebug extension toggler artisan command, designed primarily for Laravel Valet, but can be switched to other platforms easily.
https://github.com/tpaksu/xdebug-toggle
laravel laravel-artisan-command xdebug xdebug-toggle
Last synced: about 2 months ago
JSON representation
An XDebug extension toggler artisan command, designed primarily for Laravel Valet, but can be switched to other platforms easily.
- Host: GitHub
- URL: https://github.com/tpaksu/xdebug-toggle
- Owner: tpaksu
- License: mit
- Created: 2020-06-10T21:41:08.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2020-08-12T08:55:20.000Z (almost 5 years ago)
- Last Synced: 2025-05-12T14:16:55.954Z (about 2 months ago)
- Topics: laravel, laravel-artisan-command, xdebug, xdebug-toggle
- Language: PHP
- Homepage:
- Size: 29.3 KB
- Stars: 6
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Laravel Valet XDebug Toggler Artisan Command
[](https://packagist.org/packages/tpaksu/xdebug-toggle)
[](https://travis-ci.org/tpaksu/xdebug-toggle)
[](https://scrutinizer-ci.com/g/tpaksu/xdebug-toggle)
[](https://packagist.org/packages/tpaksu/xdebug-toggle)
[](https://github.styleci.io/repos/271391496)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:
```bash
composer require tpaksu/xdebug-toggle --dev
```## Usage
To enable XDebug in current environment:
``` bash
php artisan xdebug on
```To disable it:
``` bash
php artisan xdebug off
```### Configuration
You can export the configuration file by running the command:
``` bash
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
```bash
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:
```batch
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:
```ini
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](CHANGELOG.md) for more information what has changed recently.
## Contributing
Please see [CONTRIBUTING](CONTRIBUTING.md) for details. Any contributions are welcome.
### Security
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
## Credits
- [Taha PAKSU](https://github.com/tpaksu)
- [All Contributors](../../contributors)## License
The MIT License (MIT). Please see [License File](LICENSE.md) for more information.