上一次使用后非正常关闭,导致有相关的缓冲而报错。 解决方法 重启frida-server。
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...5、firebug 对于前端调试,采用火狐浏览器,安装firebug插件,功能强大。...二、日志查看 1、PHP日志 在php.ini文件中,将log_errors设置成on,并且设置其loglevel,可以设置成php的十多种错误类型的某些种,再设置error_log的文件路径。...这样,当php运行期间发生的错误,会记录错误日志,便于定为原因。...当mysql无法启动,或者其他情况下服务器报错,可以从这里进行查看。 日志文件是文本文件,可以直接打开。
有时候,使用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之获取基本信息
其中最主要的就是怎样使用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打印跟踪调试信息 对于大部分编译型语言来说,比如 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() 进行输出,直接使用这个函数就会进行输出。
前言 安装ThinkPHP框架报错,因为之前的报错总结使用的不是markdown编写的,整理起来有点麻烦,所以先单独记录下。...v6.0.7): Extracting archive The Process class relies on proc_open, which is not available on your PHP...falling back to ZipArchive class The Process class relies on proc_open, which is not available on your PHP...修改php.ini配置文件 删除proc_open,proc_get_status并保存配置文件 disable_functions = passthru,exec,system,chroot,scandir...ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server 重启服务 service php-fpm
在前端调试接口的过程中,我遇到了一些错误,现将它整理出来,大概有以下几种情况。
用过thinkphp等任何一个框架的都知道,当我们的程序报错时,显示的都是框架美美的报错异常页面。 之所以能显示出框架自定义的页面,都是因为使用了异常处理函数来实现的。...异常处理函数 在默认的php中,产生异常的时候是这样子的: ---- ? ? ---- php提供了set_exception_handler函数,让我们可以自定义异常产生时执行、输出的数据。 <?...php function exception_handler($exception) { echo "有异常产生了 傻逼 :\n"; var_dump($exception); } set_exception_handler...在thinkphp中实现异常上报模块 我自定义了一个继承了tp默认异常处理器的新类,并在其中记录了php脚本执行时间、tp能获取到的全部数据 然后上报到数据库(或者其他储存地址) 再自定义了查看异常记录的页面...当点击查看记录的时候,在脚本中开启tp的debug模式,然后复现数据 到这里,哪怕线上的脚本挂了,我们也可以通过此模块查看复现报错的地方。
XDebug调试配置 临时需要调试服务器上的PHP web程序,因此安装xdebug,下面简单记录 安装xdebug 下载最新并解压 wget https://xdebug.org/files/xdebug.../configure --enable-xdebug ··· 报错 checking Check for supported PHP versions... configure: error: not...Need a PHP version >= 5.5.0 and < 7.2.0 (found 5.3.10-1ubuntu3.21) 原来服务器上的php版本比较低: PHP 5.3.10-1ubuntu3.26...调试配置 在RUN-Edit Configuratins里,新增PHP Web Application ?...然后就可以启动调试了
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进行分析,点击“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 的配置
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...命令调试 如果你在官网或者github上下载了一段代码片段,急于调试但是还不愿意将代码片段放入项目中或者新开辟一个目录,完全可以使用php命令去执行这个代码块 php -f filename.php 如果代码片段较短你可以使用...执行运行PHP代码 片段调试 当你突然想起一个方法或者算法急于去验证他,但又不愿意打开编辑器或者执行php自带的命令行的话。...编辑器调试 感觉讲这个有点废话了,如果你感觉打开命令行然后输入 php xxxx 特别费劲的话,你也可以选择使用编辑器自带的调试,一般像sublime,visual Studio Code , PHPStrom...都会自带的调试工具,其原理依旧是调用 php -r 但总比打开命令行输入命令要快的多。
今天工作中发现一个本来已经开发测试完上线的接口,结果本地环境出现了报错,线上接口正常,经过不断顺藤摸瓜,最终找到问题如下所示 ? ?...查找原因后,发现错误原因如下: 官方在PHP5.6就把$HTTP_RAW_POST_DATA废弃了,而且在PHP7中把它也移除了。...因为这个参数影响性能,所以这个问题和PHP版本有关系,既然PHP 5.6已经废弃了$HTTP_RAW_POST_DATA。...官方建议php://input来代替解决方法: 一劳永逸的改法是,修改php.ini always_populate_raw_post_data = -1 如图所示: ?
调试技术除了错误处理,调试也是开发过程中必不可少的一部分。下面介绍一些常用的调试技术: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:可以分析代码的性能,并提供有关代码中执行时间和内存使用情况的详细信息。
前言 原先安装过一个版本,通过脚本卸载之后,再安装的时候报错了,就去GitHub的仓库看了下,刚好找到一个issue,不过oniguruma-devel无法直接安装; issue:https://github.com...PHP install failed, Please Contact the author!.../oneinstack/install.sh --php_option 12 --phpcache_option 1 --php_extensions gmagick,fileinfo,redis --
领取专属 10元无门槛券
手把手带您无忧上云