tacnoman / dephpugger
在终端中调试 PHP。
Requires
- cboden/ratchet: 0.4.1
- symfony/console: ^4.3.4
- symfony/yaml: ^4.3.4
Requires (Dev)
- phpunit/phpunit: ^8.3.5
- squizlabs/php_codesniffer: ^3.5.0
This package is auto-updated.
Last update: 2024-09-20 00:08:28 UTC
README
什么是 Dephpugger?
Dephpugger(读作 depugger)是一个开源库,允许开发者在终端中直接调试 PHP,无需必要地配置 IDE。dephpugger 通过另一个命令在 PHP 内置服务器上运行。您可以使用它来
Web 应用程序
例如 Lumen
命令行脚本
另一个例子
安装
要安装,您必须运行此代码(使用 composer)。
$ composer require tacnoman/dephpugger
全局安装
在 Linux 或 Mac Os X
运行此命令
$ composer global require tacnoman/dephpugger
并在您的 ~/.bash_profile 中添加。
export PATH=$PATH:$HOME/.composer/vendor/bin
现在,运行 source ~/.bash_profile
,您可以使用 $ dephpugger
运行命令。您可以使用 composer 命令运行 dephpugger。您可以使用
$ composer exec dephpugger <command>
此最后一个命令将在本地或全局安装中运行。
在 Windows 上
很抱歉 :/ 我没有 Windows 操作系统来运行 Dephpugger,但我期待您的 Pull Request 来解决这个问题 ;D
但您可以使用 Docker
使用 Phar 文件
$ wget https://raw.githubusercontent.com/renatocassino/dephpugger/master/dephpugger.phar -O dephpugger $ chmod +x ./dephpugger $ mv ./dephpugger /usr/local/bin/dephpugger
或通过 curl 安装
$ curl https://raw.githubusercontent.com/renatocassino/dephpugger/master/installer.sh | bash
安装 XDebug
要在 Linux 上安装 XDebug,您必须运行
$ sudo apt-get install php-7.2-cli php-dev php-pear $ sudo pecl install xdebug
找到类似以下内容的最后一行: 您应该在 php.ini 中添加 "zend_extension=/usr/lib/php/20170718/xdebug.so"
,并将其复制到您的 php.ini
文件中。要获取 php.ini
文件,您可以运行
$ php --info | grep php.ini Configuration File (php.ini) Path => /etc/php/7.2/cli Loaded Configuration File => /etc/php/7.2/cli/php.ini
将 zend_extension=/usr/lib/php/20170718/xdebug.so
复制到 /etc/php/7.2/cli/php.ini
的最后一行。
Docker
$ docker run --rm -p 8888:8888 tacnoman/dephpugger:latest server
依赖项
- PHP 7.0 或更高版本(未在旧版本中测试)
- 激活 Xdebug
- 浏览器插件(如果您想调试 Web 应用程序)
插件
您可以使用以下命令检查您的依赖项
$ vendor/bin/dephpugger requirements $ vendor/bin/dephpugger info # To get all values setted in xDebug # Or in global $ dephpugger requirements $ dephpugger info
用法
要使用,您必须在安装后运行 vendor/bin
文件夹中的两个二进制文件。
$ php vendor/bin/dephpugger debugger # Debugger waiting debug $ php vendor/bin/dephpugger server # Server running in port 8888 # Or in global $ dephpugger debugger $ dephpugger server
您必须在两个不同的选项卡中运行(在下一个版本中,您将可以在一个唯一的选项卡中运行)。运行这些命令后,您需要在您的代码中放置以下行
<?php # ... xdebug_break(); # This code is a breakpoint like ipdb in Python and Byebug in Ruby # ....
现在,您可以在浏览器中打开页面(localhost:8888/[yourPage.php])。当您请求此页面时,您的终端将开始断点(如图 1.0 所示)。
要调试 PHP 脚本,您可以运行
$ php vendor/bin/dephpugger cli myJob.php
# Or in global
$ dephpugger cli myJob.php
运行后的命令
当您在断点处停止时,您可以执行以下命令
配置(很简单)
Dephpugger 项目具有默认选项,如端口、主机、套接字端口等。您可以通过在项目根目录中添加一个 .dephpugger.yml
文件来更改这些值。您可以在您的 .dephpugger.yml
文件中创建配置。例如
--- debugger: host: mysocket.dev # default: 0.0.0.0 port: 9002 # default: 9005 lineOffset: 10 # default: 6 verboseMode: false # default: false historyFile: ~/.dephpugger_history # default: .dephpugger_history server: host: myproject.dev # default: 0.0.0.0 port: 8080 # default: 8888 path: ./public/ # default: null file: index.php # default: null
这些值将替换默认配置。
完整文档
要查看完整文档,请点击这里。
如何与 phpunit、behat、codeception 等一起使用
有关使用的文档,请点击这里。
运行测试
$ composer test
$ composer lint
有虫子吗?
给我发电子邮件或创建一个问题
Renato Cassino - Tacnoman - <renatocassino@gmail.com>