macOS XDebug 本地调试 很久没写PHP了、同样很很久没有用XDebug了,近期有个简单的场景要用到,简单记录一下关键步骤。...本地环境: $ php -v PHP 7.3.4 (cli) (built: Apr 8 2019 10:21:33) ( NTS ) Copyright (c) 1997-2018 The PHP...2002-2019, by Derick Rethans 环境搭建 // 安装xdebug $ pecl install xdebug // 配置xdebug $ vim /usr/local/etc/php...服务 $ brew services restart php@7.3 IDE 配置 我是在~/Downloads/xdebug/ 目录下放了一个简单的PHP文件test.php来测试,在这个目录下用php...image.png image.png 开启监听 image.png 效果演示 设置之后, 在IDE里打上断点, 在浏览器打开这个链接即可开启测试 http://127.0.0.1:7790/test.php
与上一篇联动, 本篇是远程调试, 主要记录一下过程 本地环境: # php -v PHP 7.2.16 (cli) (built: Mar 10 2019 21:22:49) ( NTS ) Copyright...On xdebug.remote_port=11955 xdebug.idekey=PHPSTORM // 重启PHP服务 # systemctl restart php-fpm # systemctl...firewall-cmd --zone=public --add-port=11955/tcp --permanent # firewall-cmd --reload IDE 配置 IDE的配置与本地调试不太一样...,总的来说有两种方式,一种是通过在IDE配置Remote Debug, 需要配置登录远端服务器;一种是通过ssh来做远程端口转发到本地来实现类似本地调试的方式。...IDE配置 与本地调试的配置不一样的地方就是host和port,其他地方大同小异。
简介 PHPDBG是一个PHP的SAPI模块,可以在不用修改代码和不影响性能的情况下控制PHP的运行环境。 PHPDBG的目标是成为一个轻量级、强大、易用的PHP调试平台。...基本使用 参数介绍 phpdbg是php的一个sapi,它可以以命令行的方式调试php。...只是他们调试的语言不一样,gdb侧重于调试c或者c++语言,而phpdbg侧重于调试php语言。下面我们将对phpdbg的一些常用调试功能做下介绍。...要调试的代码如下: 文件test_phpdbg_inc.php源代码如下: php代码 这个是phpdbg的一个特色。可以在调试的过程中使用ev命令执行任意的php代码。
PHP代码调试与日志 (原创内容,转载请注明来源,谢谢) 一、代码调试 由于PHP很少有类似java、.NET的断点调试工具,因此通常都是要采用输出中间结果的方式进行调试,主要如下: 1、var_dump...对于controller,如果是调用的ajax,要用此方法打印还要配合firebug等浏览器调试工具。...5、firebug 对于前端调试,采用火狐浏览器,安装firebug插件,功能强大。...二、日志查看 1、PHP日志 在php.ini文件中,将log_errors设置成on,并且设置其loglevel,可以设置成php的十多种错误类型的某些种,再设置error_log的文件路径。...这样,当php运行期间发生的错误,会记录错误日志,便于定为原因。
有时候,使用PHP的第三方扩展之后,可能会发生一些错误,这个时候,可能就需要更底层的方式追踪调试程序发生错误的地方和原因,熟悉linux下C编程的肯定不陌生gdb 首先,使用ulimit -c命令,查看系统是否会生成...ulimit -c n #n大于0的数字 这样当程序运行错的时候,就会把运行过程记录到core文件里面 一般来说,core文件会在程序运行目录下生成,文件名类似 core.5740 下面开始使用gdb来调试...sh gdb php -c core.5740 #进入之后显示很多东西,然后不停的 按 输入 bt回车,查看执行流程 #在gdb运行环境中,使用PHP的gdb调试脚本,其中/prefix/php-src-dir...是php的源码目录 source /prefix/php-src-dir/.gdbinit #zbacktrace会更加精确到PHP的错误 zbacktrace 详细的使用gdb调试PHP的文章,可以参考鸟哥的博客...如何调试PHP的Core之获取基本信息
PHP打印跟踪调试信息 对于大部分编译型语言来说,比如 C 、 Java 、 C# ,我们都能很方便地进行断点调试,但是 PHP 则必须安装 XDebug 并且在编辑器中进行复杂的配置才能实现断点调试的能力...不过,如果只是简单的调试并且查看堆栈回溯的话,其实 PHP 已经为我们准备好了两个函数,能够让我们非常方便的看到程序运行时的调用情况。...()); a_test("A"); // Hi: A/Users/zhangyue/MyDoc/博客文章/dev-blog/php/202004/source/PHP打印跟踪调试信息.php:7:...(93) "/Users/zhangyue/MyDoc/博客文章/dev-blog/php/202004/source/PHP打印跟踪调试信息.php" // 'line' => //.../PHP打印跟踪调试信息.php:151] 另外就是这个函数不需要使用 var_dump() 或 print_r() 进行输出,直接使用这个函数就会进行输出。
其中最主要的就是怎样使用VSCode调试PHP代码。 语法检查和格式化 为了更加规范的学习PHP,我决定使用一个插件。如果在VSCode中搜索php format插件,会有三个排名最靠上的插件。...这个页面会分析好你的PHP环境,已经需要安装XDebug的步骤。 test.php php phpinfo(); ?...php $x = 10; echo "Hello PHP"; echo $x; ?> 然后点击vsCode的debug按钮,或者ctrl+shift+d,开启调试窗口。...如下图: 调试界面 注意:我主要采坑的地方是在php.ini这个配置文件中。xdebug.remote_enable和xdebug.remote_autostart,这两个配置文档中说的是设置为1。...---- 以上就是我配置VSCode的PHP调试时候遇到的一些问题。主要感慨就是,文档一定要找到官方文档,然后提高英语阅读水平,最后再加上多多尝试即可。
异常处理函数 在默认的php中,产生异常的时候是这样子的: ---- ? ? ---- php提供了set_exception_handler函数,让我们可以自定义异常产生时执行、输出的数据。 php function exception_handler($exception) { echo "有异常产生了 傻逼 :\n"; var_dump($exception); } set_exception_handler...在thinkphp中实现异常上报模块 我自定义了一个继承了tp默认异常处理器的新类,并在其中记录了php脚本执行时间、tp能获取到的全部数据 然后上报到数据库(或者其他储存地址) 再自定义了查看异常记录的页面
XDebug调试配置 临时需要调试服务器上的PHP web程序,因此安装xdebug,下面简单记录 安装xdebug 下载最新并解压 wget https://xdebug.org/files/xdebug...Need a PHP version >= 5.5.0 and < 7.2.0 (found 5.3.10-1ubuntu3.21) 原来服务器上的php版本比较低: PHP 5.3.10-1ubuntu3.26...,服务器使用的php5-fpm,配置文件在/etc/php5/fpm/php.ini 修改,增加xdebug配置信息 zend_extension="/opt/research/xdebug-2.2.2...调试配置 在RUN-Edit Configuratins里,新增PHP Web Application ?...然后就可以启动调试了
q-header-list=&q-url-param-list=&q-signature=6aadc54bdad54a714190d0f3a185e2e1546bf07d] 设置里面的扩展组件里面的XDebug调试组件打开.../php7.3.4nts/ext/php_xdebug.dll xdebug.collect_params=1 xdebug.collect_return=1 xdebug.auto_trace=On...xdebug.trace_output_dir=D:/phpstudy_pro/Extensions/php_log/php7.3.4nts.xdebug.trace xdebug.profiler_enable...的执行路径:"php.validate.executablePath": "D:\phpstudy_pro\Extensions\php\php7.3.4nts\php.exe",根据自己选择的php版本找到相应的...q-header-list=&q-url-param-list=&q-signature=cf224d2a35efe119d0991ba01922ef3367c2feb2] 最后配置launch.json,也就是调试模式点设置
跳转到如下图所示页面,会对本机中的php进行分析,点击“Download php_xdebug-2.7.2-7.2-vc15-x86_64.dll”按钮下载Xdebug扩展。...配置Xdebug扩展 将下载好的Xdebug扩展复制到php目录下的ext文件夹中,并在php.ini配置的末尾添加如下配置信息: zend_extension=E:\php7\ext\php_xdebug...-2.7.2-7.2-vc15-x86_64.dll xdebug.profiler_output_dir="E:\php\xdebug" xdebug.trace_output_dir="E:\php...>PHP->Debug->DBGp Proxy”,配置DBGp协议配置信息,如下图所示: 打开“File->Settings->Languages & Development->PHP->Server...上面配置文件写的是PHPSTORM 开启phpStorm调试 首先设置运行服务器为localhost,然后打开php debug监听,运行debug模式,最后设置断点,如下图所示: 最后 如果你觉得这篇文章对你有点用的话
PHPStorm 也可以进行 Xdebug 调试,VScode 也可以进行配置调试,且比 PHPStorm 的配置简单很多,不用每次去创建一个 Server,再创建一个 web page 服务。...一.插件准备 1.查看插件列表 [avatar 2.搜索并安装PHP Debug (安装 VScode 时选择 PHP 开发相关的话会自动安装) PHP Debug ?...5.新建 debug 配置,并选择调试语言 ? 6.进行配置 ?...6.在调试小窗口中进行单步调试或单步跳过等操作 注意 1.注意自动附加是否是开启状态 2.注意端口号是否冲突(点击下部玫红色状态栏的Listen for XDebug后,会弹出选择 debug 设置如果端口设置有问题的话...(设置小图标后打开调试控制台也可以显示相关错误提示,注意查看即可) 将launch.json的端口号修改未被占用的号,并且修改php.ini中 xdebug 的配置
1.版本对应 php版本,TS 和NTS,VC9和VC11,32位和64位都需要正确才可以。 首先用phpinfo查看PHP安装版本 ?...2.下载对应版本 https://xdebug.org/download.php ?...比如下载的是32位的TS版本:php_xdebug-2.4.1-5.4-vc9.dll,这个文件复制进任意目录都可以。...3.配置php.ini文件 [Xdebug] ;指定Xdebug扩展文件的绝对路径 zend_extension=D:/phpext/php_xdebug-2.4.1-5.4-vc9.dll...6.打断点开始调试 ?
组件调试是指将一个正在开发测试的插件、类进行错误、逻辑和结果的测试 片段调试是指将一段代码片段、函数、变量的预期和结果的测试 接下来我们看下本章列出的一些调试方法 暴力调试 这种方式简单粗暴,一般PHP...命令调试 如果你在官网或者github上下载了一段代码片段,急于调试但是还不愿意将代码片段放入项目中或者新开辟一个目录,完全可以使用php命令去执行这个代码块 php -f filename.php 如果代码片段较短你可以使用...执行运行PHP代码 片段调试 当你突然想起一个方法或者算法急于去验证他,但又不愿意打开编辑器或者执行php自带的命令行的话。...编辑器调试 感觉讲这个有点废话了,如果你感觉打开命令行然后输入 php xxxx 特别费劲的话,你也可以选择使用编辑器自带的调试,一般像sublime,visual Studio Code , PHPStrom...都会自带的调试工具,其原理依旧是调用 php -r 但总比打开命令行输入命令要快的多。
调试技术除了错误处理,调试也是开发过程中必不可少的一部分。下面介绍一些常用的调试技术:1....以下是一个示例:// 设置错误日志文件ini_set("error_log", "/var/log/php_errors.log");// 记录错误信息error_log("An error occurred...;上述代码将错误信息记录到/var/log/php_errors.log日志文件中。4. 使用调试工具除了以上介绍的方法外,还可以使用调试工具来帮助开发人员诊断和解决错误。...以下是一些常见的调试工具:Xdebug:是PHP调试工具的一个插件,可以帮助开发人员在代码中设置断点,并提供各种调试功能。...PHP Debug Bar:是一个可扩展的调试工具栏,可以在浏览器上显示关于PHP应用程序的有用信息。PHP Profiler:可以分析代码的性能,并提供有关代码中执行时间和内存使用情况的详细信息。
主要功能:他们保存了函数的调用栈信息,一个不输出以数组形式保存,另一个直接输出调用栈,调试的时候一般使用debug\_print\_backtrace()。...\wp-settings.php) called at [D:\phpnow\vhosts\wordpress.com\wp-config.php:90] #6 require_once(D:\phpnow...(D:\phpnow\vhosts\wordpress.com\wp-load.php) called at [D:\phpnow\vhosts\wordpress.com\wp-blog-header.php...\index.php:30] 所有的函数调用清晰的呈现!...高级应用 请参考此篇 PHP debug_backtrace的胡思乱想
错误处理PHP提供了许多方法来处理错误。下面介绍一些常见的错误处理方法:1. 错误报告当PHP脚本出现错误时,默认情况下,PHP会在浏览器上输出错误信息。...可以使用error_reporting函数来设置PHP的错误报告级别,以便仅记录关键错误:// 设置错误报告级别error_reporting(E_ERROR | E_WARNING | E_PARSE...异常处理PHP也支持异常处理。使用异常处理可以更好地管理和控制错误,并使代码更加健壮。在PHP中,可以使用try、catch和throw关键字来处理异常。...自定义错误处理函数除了使用PHP提供的错误处理方法外,开发人员还可以定义自己的错误处理函数。
➜ ~ php-config Usage: /data/env/runtime/php-7.1.33-debug/bin/php-config [OPTION] Options: --prefix...-debug/include/php -I/data/env/runtime/php-7.1.33-debug/include/php/main -I/data/env/runtime/php-7.1.33...-debug/include/php/TSRM -I/data/env/runtime/php-7.1.33-debug/include/php/Zend -I/data/env/runtime/php...-7.1.33-debug/include/php] --man-dir [/data/env/runtime/php-7.1.33-debug/php/man] --php-binary...如果你需要调试扩展比如swoole你需要设置扩展的debug参数,可以参考扩展的./configure文件说明。 gdb使用 这里简单介绍一下gdb的基本使用,更详细的使用方法可以自行google。
简介 php是动态语言没有调试器的话排错起来很是麻烦。vscode可以说是程序员的福音,启动速度快,插件越来越多,跨平台。...现在说一下vscode上调试php文件 所需文件 xampp 集成服务器 vscode Xdebug php-debug 插件 1: 在vscod/【技术点,其实还需要更多地实践】/e中按 F1, 输入...ext install php-debug 安装调试插件 2:去 https://xdebug.org/download.php下载php对应版本的插件,php版本可以在xampp中的readme看到,...XDebug 项目的运行,配置不用更改,默认就可以 6:运行后跳出这些按键 7:直接在浏览器中打开要调试的php(不是文件路径而是服务器的地址),vscode就会命中到打断点的地方 注意事项 php最大执行时间好像是...30秒,超过30秒会自动终止,因此调试的时候要修改一下时间,在php.ini 文件中修改最大运行时间为5分钟 max_execution_time=3000 拓展 hbuilder和vscode 配置xdebug
总结:上面已经将phy的状态设置成了 phydev->state = PHY_READY,同时完成了emac接口下的phy设备驱动注册,接下来将分析如何使用该p...
领取专属 10元无门槛券
手把手带您无忧上云