PHP phpdbg

2024-02-21 40

phpdbg是一个用于在命令行界面中进行 PHP 代码调试的工具。它提供了一种方便的方式来调试 PHP 脚本,用户可以通过命令行交互式界面逐行执行代码、设置断点、检查变量内容等操作,可以有效提高 PHP 应用程序的开发和调试效率。

一、phpdbg特点

作为 SAPI 模块实现,phpdbg 可以在不影响代码功能或性能的情况下完全控制运行环境,旨在成为一个轻量级、功能强大且易于使用的 PHP 调试平台,具有以下特点:

1、逐步调试功能;

2、灵活的断点设置(包括类方法、函数、文件行、地址和操作码);

3、使用内置的 eval() 函数轻松访问 PHP;

4、用户空间 API;

5、与 SAPI 无关,易于集成;

6、支持 PHP 配置文件;

7、JIT Super Globals – 可自定义设置;

8、可选的读取线支持,提供舒适的终端操作体验。

二、命令行选项

命令行选项如下表:

令行选项
选择 示例参数 描述
-c -c/my/php.ini 设置要加载php.ini文件
-d -dmemory_limit=4G 设置php.ini指令
-n 禁用默认php.ini
-q 禁止显示欢迎横幅
-在 启用 oplog 输出
-b 禁用颜色
-我 -imy.init 设置 .phpdbginit 文件
-我 忽略默认的 .phpdbginit
-或 -Omy.oplog 设置 oplog 输出文件
-r 运行执行上下文
-rr 运行执行上下文并在执行后退出(不考虑断点)
-和 为调试器/探查器生成扩展信息
-和 启用逐步评估,小心!
-秒 -s=, -s=foo 使用可选分隔符从 stdin 读取要执行的代码
-小号 -Scli公司 覆盖 SAPI 名称,小心!

-l -L4000型 设置远程控制台端口
-一个 -a192.168.0.3 设置远程控制台绑定地址
-x 启用 xml 输出(而不是普通文本输出)
-p -p, -p=函数, -p* 输出操作码并退出
-h 打印帮助概览
-在 打印版本号
— arg1 arg2 用于分隔 phpdbg 参数和 php $argv;在它后面附加任何$argv参数

三、预定义常量

下列常量由此扩展定义,且仅在此扩展编译入 PHP 或在运行时动态载入时可用:

  • PHPDBG_VERSION (string)
  • PHPDBG_FILE (int):Removed as of PHP 7.3.0.
  • PHPDBG_METHOD (int):Removed as of PHP 7.3.0.
  • PHPDBG_LINENO (int):Removed as of PHP 7.3.0.
  • PHPDBG_FUNC (int):Removed as of PHP 7.3.0.
  • PHPDBG_COLOR_PROMPT (int)
  • PHPDBG_COLOR_NOTICE (int)
  • PHPDBG_COLOR_ERROR (int)

四、phpdbg函数

1、phpdbg_break_file

phpdbg_break_file代表在文件中的一行处插入断点,使用方法:

phpdbg_break_file(string $file, int $line): void

在指定文件的指定行插入断点。

2、phpdbg_break_function

phpdbg_break_function代表在函数入口处插入断点,使用方法:

phpdbg_break_function(string $function): void

在给定函数的入口处插入一个断点。

3、phpdbg_break_method

phpdbg_break_method代表在方法入口处插入断点,使用方法:

phpdbg_break_method(string $class, string $method): void

在给定.方法类的给定入口处插入断点。

4、phpdbg_break_next

phpdbg_break_next代表在下一个操作码处插入断点,使用方法:

phpdbg_break_next(): void

在下一个操作码处插入断点。

5、phpdbg_clear

phpdbg_clear代表清除所有断点,使用方法:

phpdbg_clear(): void

清除通过 phpdbg_break_*() 函数或控制台交互设置的所有断点。

6、phpdbg_color

phpdbg_color代表设置某些元素的颜色,使用方法:

phpdbg_color(int $element, string $color): void

设置指定元素的颜色。

7、phpdbg_end_oplog

phpdbg_end_oplog使用方法:

phpdbg_end_oplog(array $options = []): ?array

8、phpdbg_exec

phpdbg_exec代表尝试设置执行上下文,使用方法:

phpdbg_exec(string $context): string|bool

9、phpdbg_get_executable

phpdbg_get_executable使用方法:

phpdbg_get_executable(array $options = []): array

10、phpdbg_prompt

phpdbg_prompt代表设置命令提示符,使用方法:

phpdbg_prompt(string $string): void

将命令提示符设置为给定的字符串。

11、phpdbg_start_oplog

phpdbg_start_oplog使用方法:

phpdbg_start_oplog(): void
  • 广告合作

  • QQ群号:707632017

温馨提示:
1、本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。邮箱:2942802716#qq.com(#改为@)。 2、本站原创内容未经允许不得转裁,转载请注明出处“站长百科”和原文地址。
PHP phpdbg
下一篇: PHP runkit7函数