PHP 用什么代替 echo exit 的调试方法

EBOM转MBOM实战:华为云数字工厂如何5步搞定BOM自动转换(含避坑指南) 本文详细解析了华为云数字工厂平台如何通过五步自动化流程实现EBOM到MBOM的高效转换,涵盖模型预配置、逻辑流编排、工艺属性注入等关键步骤,并提供了多工厂差异化配置、历史数据迁移等典型场景的避坑指南。该方案显著提升转换效率,降低差错率,助力企业实现数字化转型。 阅读详情
想当年单枪匹马写代码的时候,用 echo+exit 的方法调试程序,效果很不错。但后来工作之后,在公司的服务器上运行着一套程序,在开发用的机上也运行着同一套程序,在开发时还是可以用 echo+exit 的方法调试,调试完后再放上服务器上。但因为是不同的机子,在开发时测试无问题可能上到服务器上就有问题了,于是必须调试服务器上的程序。但服务器上的程序是24小时对外公开的,不能把整个程序直接 exit 了,特别是为多个页面提供服务的公共页面。而且 echo+exit 还是一种猜测的调试方法,一个错误可能要在好几个地方 echo 后才能找到问题的原因,这也延长了解决问题的耗时。怎么办呢?

我的建议是在代码中把需要 echo 的信息都记录下来,而不只是出错时才 echo 部份信息。具体的方法是:建立一个全局变量 $debug ,程序运行时需要 echo 的信息都以字符串的方式追加到这个变量中,每条信息以换行分隔,在页面结束的时候把这串字符串输出。这样无论程序去到哪里运行,都可以通过查看这串字符串达到 echo+exit 方法的效果。

用变量记录是为了避免造成函数依赖,因为可能每一个方法都需要记录信息,在php中,访问一个未定义的变量只会产生一条警告,但调用一个未定义的函数会产生致命错误并中断运行。
虽然每个方法都可能需要记录信息,但运行完一个页面往往只需要调用几个方法,因此每个页面的 $debug 变量记录的数据绝不会太大。
在开发阶段我们也是需要调试的,一般都是用 echo+exit 方法,现在只需要在开发的调试阶段多花一点点时间把调试方法改为记录 $debug 变量的形式,以后就可以一劳永逸了。对于旧代码,无需特意加上 $debug 信息,只需要出问题并调试时加上即可。

综合上面4条,可以看出改为 $debug 的模式成本是很小的,也不会带来其它的麻烦,然而这种模式所带来的收益却比 echo+exit 大得多。
echarts实现3D地图——map3D 【代码】echarts实现3D地图——map3D。 阅读详情

相关推荐

在MATLAB产生正态(Gauss)分布随机数

在 MATLAB 中内置了有产生标准正态(Gauss)分布的随机数函数,使用方法如下: 其中 为产生矩阵的行数和列数, 为产生矩阵的个数,产生的矩阵中的每个元素均为服从 N(0,1)N(0, 1)N(0,1) 的标准正态分布的元素。使用如下命令产生一个 的服从的随机数矩阵: 绘制图像效果如下: 可以看到这里随机数服从 的标准正态分布。假设 X∼N(0,1)X\sim N(0,1)X∼N(0,1),则 3X+33X+33X+3 服从 N(3,9)N(3,9)N(3,9) 分布,因此我们要产生服从 N(

程序必须为人类阅读而编写,并且仅仅碰巧可以让机器执行 3万+

Shell详解~(五)Shell常用内置命令:echo、read、exit、declare、test

shell内置命令,就是由Bash Shell自身提供的命令,而不是文件系统中的可执行脚本文件。 ​ 使用type来确定一个命令是否是内置命令,是的话会得到 XXX is a shell builtin,不是的话就会得到这个脚本文件的地址。 ​ 通常来说,内置命令会比外部命令执行得更快,执行外部命令时不但会触发磁盘I/O,还需要fork出一个单独的进程来执行,执行完成后在退出,会有上下文的切换,而执行内置命令相当于调用当前Shell进程的一个函数,还是在当前shell环境进程内,减少了上下文切换。 5.1.

nianjiuhuiyi的博客 1867

开源大模型“去审查化”技术解析:从LLaMA架构到本地部署与伦理边界

大型语言模型(LLM)基于Transformer架构,通过海量数据训练获得理解和生成自然语言的能力。其核心原理在于自注意力机制对上下文关系的建模。为了确保输出内容的安全与合规,主流模型普遍采用基于人类反馈的强化学习(RLHF)等技术进行安全对齐。这一过程旨在使模型行为符合人类价值观,是AI伦理工程实践的关键环节。然而,在特定研究场景下,如对抗性测试或内容安全算法研究,技术人员需要模拟极端对话以评估系统鲁棒性,这催生了针对“去对齐”或“移除护栏”的技术探索。此类技术通常通过对预训练模型进行反向微调或继续训练来

weixin_33743880的博客 588

一文教你入门shell脚本5.0——Shell常用命令简单说明(echo、read、exit、declare)

Shell常用命令简单说明Shell常用命令1、echo:输出字符串1.1、定义和常用选项参数1.2、常用操作2、read:读取从键盘输入的数据2.1、定义和常用选项参数2.2、常用操作3、exit命令:退出当前进程(类似C++)3.1、定义3.2、常用操作参考 Shell常用命令 1、echo:输出字符串 1.1、定义和常用选项参数 在终端下打印变量value,其主要用于字符串的输出。echo可用作显示注释,用于一些批命令中需要注释给用户看的地方 echo [Options] [String] 方括号

JMW1407的博客 1141

GitHub 新手使用手册

理论说太多容易忘,来实践实践吧。

2501_90226046的博客 1052

R分析|怎么样使用piecewiseSEM构建结构方程模型?保姆级教程

计算科学的发展让我们有了更先进的工具揭示自然规律。结构方程模型(SEM)已被广泛应用于多学科进行数据挖掘。其中在R中实现的结构方程模型是方便快捷的。今天要介绍的piecewiseSEM包就是R中实现SEM的一种方式。piecewiseSEM被开发出来主要目的是为了解决复杂模型简化后进行分段分析。个人认为最大的特点是更灵活,且采用的是原始数据,并不是传统的协方差矩阵。其次,将SEM破碎化为多个独立的方程,对样本量要求较少。

weixin_46814750的博客 6927

php echo return exit 区别

echo、print()、printf()、sprintf()、vardump()、varexport():都可以输出内容到网页,但不退出函数或程序。 return:返回并立即退出,函数级别。 die():停止程序运行,输出内容。 exit:停止程序运行,不输出内容。 转载于:https://www.cnblogs.com/shijianchuzhenzhi/p/5613730.html...

weixin_30764771的博客 466

第12步 支持向量机(SVM)

搭建SVM

Jet4505的博客 1050

Linux中最全shell命令&常用注意事项

在编辑linux脚本中不断的会用到复杂的脚本编辑,写文章记录。 在linux shell脚本中root切换到普通用户执行脚本 有时候脚本中遇到root用户执行sh文件,但是需要其他用户的权限,可以用以下命令 #!/bin/bash su - pentaho <<EOF USER=`whoami` echo $USER pwd EOF root用户执行脚本,可以看到还是在root用户的环境变量下,但是执行目录是切换的普通用户 其中需要注意的是 1. ...

大宇进阶之路的博客 3470

汇川AM系列ethercat控制伺服的使用说明(含转矩模式)

本文以一个实际例子,介绍ethercat伺服驱动器的工作原理,以及在汇川AM系列PLC中,如何点动、定位、速度、转矩控制ethercat伺服。

qq_34047402的博客 5111

21、汽车喷漆目标区域识别:机器学习与深度学习的应用

本文探讨了机器学习与深度学习在汽车喷漆目标区域识别中的应用,重点利用卷积神经网络(CNN)提高喷漆效率并减少油漆浪费。通过构建和预处理包含多种汽车类型的数据集,采用ResNet-18、ResNet-50和MobileNet-v2等模型进行训练与评估,结果表明ResNet-50在准确率和鲁棒性方面表现最佳。研究还分析了数据裁剪、标签处理、网络架构差异以及光照和遮挡对识别效果的影响,并提出了系统实现流程。最后,文章展望了多传感器融合、模型优化和场景适应性等未来研究方向,为智能化喷漆工艺提供了技术参考。

5b6n7m8的博客 101

shell脚本中,echo 打印之后,再exit的话,会少一位数字

[code="java"]#a=$? #echo $a exit $? [/code] $?获取返回值,返回是10,exit就是0了 因为如果打印出来,就好像经过了一层过滤器一样,他已经是一个实体了,在打印就少了$符号后面的第一位,正确的做法是不打印就好了。...

wudi6091的博客 483

工程测量不用愁,120个视频动画帮你忙,简单易学直观明了!

工程测量不用愁,120个视频动画帮你忙,简单易学直观明了!文末提供下载地址。 下载地址: 链接:https://pan.baidu.com/s/11S6XDq9Eaa3DG3VKRMBIPg

智慧空间实验室 1019

【PHP】exit、die、echo输出的一个坑,浏览器里没有任何输出

当输出内容是布尔类型(false没有,true是可以的)、整型时,浏览器里是没有任何输出的!! 可使用以下代码测试 - 布尔型的测试 - false echo false;// 浏览器中没有任何输出 exit(false);// 浏览器中没有任何输出 die(false);// 浏览器中没有任何输出 思考:那么,如果不直接输出false,加上一些字符串一起输出会成功吗? echo 'test'.false;// 输出test exit ('test'.false);// 输出test die (

大王来巡山了的博客 1432

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

php die echo,phpdie函数echo

PHP 操作 mysql 函数详解 PHP 操作 mysql 函数详解...($result, 0, "name"); echo "Product: $name...("ADODB.Connection") or die("Cannot start ADODB......为什么 1、函数( )用于去除字符串两端指定的任意特殊字符;...... A.程序你好 A. 5 ...111、php 内置(...

weixin_39584571的博客 335

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

分享几种PHP断点测试的方法

在PHP开发中,我们需要给部分代码做断点测试,查看输出的结果是什么,分享几种PHP断点测试的方法给大家。

winkexin的博客 1225

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

在PHP中打印数据(调试、输出内容)的多种方法

函数适用场景核心优势echo页面输出字符串、变量速度快,支持多值输出print_r()调试数组、对象格式清晰,可读性强var_dump()精准调试(类型+值+长度)显示数据类型,适合排错复用数组/对象代码输出可执行 PHP 代码日志打印生产环境调试不影响用户,留存调试记录。

tomatop的博客 23

php中return die exit用法梳理

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和图片上传 LaTex数学公式 UML序列图和流程图 离线写博客 导入导出Markdown文件 丰富的快捷键 快捷键 加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

zhengwish的专栏 5859

php键盘输入函数,基础篇php常用输入语句和函数

一、 echo语句echo做php的人在熟悉不过了,在php文件中我们用他来输出数据。echo "hi mm";echo "this is {$_SERVER['SCRIPT_URL']} !";//定界符,我们用他可以输入一在堆的html,而不要考虑引号的问题echo <<STR;//定界符可以自定义,不过要成对出现,并且结束的地方要顶头?>从上面的例子中我们要以看出,echo...

weixin_42108778的博客 2687

Ajax调试方法

Ajax调试如果有php中的echo能用该多好!这样就可以一步一步进行调试了。但是echo在Ajax运行中没任何反应或者输出。可以使用:file_put_contents('text.txt',"$msg");exit();查看运行结果,这样就清楚多了。 转载于:https://blog.51cto.com/xuqin/1048025...

weixin_34343308的博客 93

php调试——输出变量值

var_dump($a); //变量的详细信息,有类型信息 print_r($a); //变量的简单形式,输出的value值没有类型 exit($a); //退出当前文件,并输出变量 //若$a是数组,则可以格式化输出,输出的value值没有类型 echo ''; print_r($a);//格式化输出调试信息 echo ""//在输出前加上该句 var_dump($a

hxx123_的博客 1万+

PHP代码审计——代码调试

echo 最简单的输出数据调试方法,一般用来输出变量值或者不确定执行到哪个分支 看不懂的代码,不知道会输出什么内容的,可以自己调试一下看看输出什么 print_r、 var_dump、 debug_zval_dump 这个主要是输出变量的数据值,特别是数组和对象数据,一般我们在查看接口的返回值或者不确定的变量,都可以使用这两个API,debug_zval_dump输出结果和var_dump类似,唯一增加的一个值是refcount,记录一个变量被引用了多少次 debug_print_backtrace

W小哥 536

调试bug的几种方法

1、php中的dump,echo,exit 2、浏览器的f12 3、安装xdebug扩展(debugger调试器,profiler探查器,trace代码跟踪) profile日志能记录函数的执行耗时和调用关系等信息, trace日志,能够记录代码执行流程 包括时间索引,内存使用,内存增量,调用层级,函数名称,函数参数, 代码所在文件名,代码所在文件行等信息。 time index:时间索引 mem...

weixin_34138521的博客 328

php键盘输入函数,php的常用输入语句以及常用函数

这篇文章主要介绍了关于php的常用输入语句以及常用函数,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下一、 echo语句echo做php的人在熟悉不过了,在php文件中我们用他来输出数据。...

weixin_39603613的博客 1090

调试--几种调试php的方法

一 , 使用PHP内置的异常处理类 参考php手册: try catch throw Exception抛出异常 php异常处理程序应当包括: Throw - 定义异常:在程序需要的位置定义触发异常满足的条件; (if( xx ) { throw new Exception("") }) Try -  调用含可抛出一个异常的语句:使用其位于 "try" 代码块内;( try

breeze_life 2396

PHP返回接口数据使用return还是echo

问题:yii2框架,前后端分离的,前端调用后台接口,后台使用echo返回结果,前端报错。 解决:使用return返回数据,或者echo之后不加die/exit等这类结束语句。前端可以接收到传递的数据,不报错。 return 111; 正常 echo 111; echo 111;die; 网上找到的两句有关return和echo的解释: return 作为函数返回值或结束语句,是返回的数据的指针,也就是数据存放的地址,而接口需要返回的是真实的数据,因为前后端使用的是不同的内存系统,所以无法根据地址找到相

W_Kenneth的博客 872
上一篇: 过度自信是创业者的通行证 读书笔记
下一篇: phpcms2008 search 全文搜索模块说明
gevolution90
博客等级 码龄18年 19粉丝 67原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值