本发明专利技术提出了一种云环境下的PHP代码调试方法,包括以下步骤:云端服务器中的Xhprof工具获得应用程序的PHP代码;Xhprof工具获得应用程序的PHP代码中的环境变量;Xhprof工具根据环境变量生成调试开关;Xhprof工具接收客户端根据调试开关生成并上传的调试数据,并将调试数据存储至云端服务器对应的Bucket中;Xhprof工具根据上传的调试数据对应用程序的PHP代码进行调试。本发明专利技术还提出了一种云环境下的PHP代码调试系统。本发明专利技术通过移植开源项目的Xhprof部署在云平台上,可以对运行在云环境上的php代码进行性能的调试,以方便用户优化自己的代码,解决了调试数据的存储和区分应用程序的调试数据以及生成图像限额的技术问题。
【技术实现步骤摘要】
本专利技术涉及云开发
,特别涉及一种云环境下的PHP代码调试方法及系 统。
技术介绍
PHP语言(Hypertext Preprocessor,超文本预处理)语言是最受欢迎的Web开发 语言之一。PHP可以简单轻松地支持高强度Web访问,以学习简单、开发快速、性能稳定而倍 受Web开发人员的青睐。PHP还是一种服务器端技术,PHP语言在服务器端执行,表现为程 序员可阅读的HTML语言,不需编译过程,人们就可阅读;即其源代码不需进行二进制编译, 可直接进入机器为机器所识别(而不需派生为二进制的机器识别码)。而在客户端中,浏览 器直接可以识别。因此PHP语言在云开发平台上的应用程序中广泛普及。在云开发平台上 为PHP代码提供高效的调试方案,对于开发人员的工作将大有帮助。但是在调试中,由于删 除调试数据是异步操作,所以删除全部调试数据时可能会有延迟,即在调试数据数量很大 时全部删除后依然会显示部分数据但是已全部删除成功。
技术实现思路
本专利技术旨在至少在一定程度上解决上述技术问题之一或至少提供一种有用的商 业选择。为此,本专利技术的第一个目的在于提出一种云环境下的超文本预处理语言PHP代码 调试方法,以解决调试数据的存储、区分应用程序的调试数据以及生成图像限额的技术问 题。本专利技术的第二个目的在于提出一种云环境下的PHP代码调试系统。为达到上述目的,本专利技术第一方面的实施例提出了一种云环境下的超文本预处理 语言PHP代码调试方法,包括以下步骤应用程序通过代码中的PHP扩展调用Xhprof工具; 所述Xhprof工具获得所述应用程序的环境变量;所述Xhprof工具读取调试开关并判断所 述调试开关是否开启;如果所述调试开关开启,所述Xhprof工具启动调试,生成调试数据, 并将所述调试数据存储至所述云端服务器对应的Bucket中;所述云端服务器根据所述调 试数据生成调试结果,并将所述调试结果返回到所述客户端,通过所述客户端向用户展示 所述调试结果。根据本专利技术实施例的云环境下的超文本预处理语言PHP代码调试方法,通过移植 开源项目的Xhprof部署在云平台上,可以对运行在云环境上的php代码进行性能的调试优 化,调试人员可以通过调试优化工具找到应用程序代码的性能瓶颈,改善代码质量。解决了 调试数据的存储和区分应用程序的调试数据以及生成图像限额的技术问题。在本专利技术的一个实施例中,所述调试开关包括Bucket名和对应的时间字串。在本专利技术的一个实施例中,所述Xhprof工具读取调试开关并判断所述调试开关 是否开启,还进一步包括所述Xhprof工具判断所述调试开关中的时间子串是否超过当前 系统时间;如果所述Xhprof工具判断大于当前系统时间,则判断所述调试开关失效;如果所述Xhprof工具判断小于等于当前系统时间,则启动所述调试。在本专利技术的一个实施例中,所述的云环境下的PHP代码调试方法,还包括生成所 述调试数据的标识信息,所述标识信息用于区分所述调试数据。在本专利技术的一个实施例中,所述调试结果包括所述调试数据,以及所述调试数据 相对应的标识信息、报表和/或图像。在本专利技术的一个实施例中,所述标识信息包括主域名、版本号和时间戳中的一种 或多种。本专利技术第二方面的实施例提出了一种云环境下的PHP代码调试系统,包括云端服务器,所述云端服务器中运行有Xhprof工具,其中,所述Xhprof工具由应 用程序通过代码中的PHP代码调用,用于获得所述应用程序的环境变量,读取调试开关并 判断所述调试开关是否开启,以及在所述调试开关开启时启动调试生成调试数据,所述云 端服务器用于存储所述Xphrof生成的调试数据,并根据所述调试数据生成调试结果,并将 所述调试结果返回到所述客户端;所述客户端,用于上传所述应用程序的PHP代码,以及将 所述调试结果向用户显示。。根据本专利技术实施例的云环境下的PHP代码调试系统,通过移植开源项目的Xhprof 部署在云平台上,可以对运行在云环境上的Php代码进行性能的调试优化,调试人员可以 通过调试优化工具找到应用程序代码的性能瓶颈,改善代码质量。解决了调试数据的存储 和区分应用程序的调试数据以及生成图像限额的技术问题。在本专利技术的一个实施例中,所述调试开关包括Bucket名和对应的时间子串。在本专利技术的一个实施例中,所述Xhprof工具还用于判断所述调试开关中的时间 子串是否大于当前系统时间,并在判断大于当前系统时间时判断所述调试开关失效,以及 在判断小于等于当前系统时间时启动所述调试。在本专利技术的一个实施例中,所述Xhprof工具还用于生成所述调试数据的标识信 息,所述标识信息用于区分所述调试数据。在本专利技术的一个实施例中,所述调试结果包括所述调试数据,以及所述调试数据 相对应的标识信息、报表和/或图像。在本专利技术的一个实施例中,所述标识信息包括主域名、版本号和时间戳中的一种 或多种。本专利技术的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变 得明显,或通过本专利技术的实践了解到。附图说明本专利技术的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变 得明显和容易理解,其中图1为本专利技术一个实施例的云环境下的PHP代码调试方法的流程图2为本专利技术一个实施例的调试数据生成及访问过程的示意图;以及图3为本专利技术一个实施例的云环境下的PHP代码调试系统的示意图。具体实施方式下面详细描述本专利技术的实施例,所述实施例的示例在附图中示出,其中自始至终 相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附 图描述的实施例是示例性的,旨在用于解释本专利技术,而不能理解为对本专利技术的限制。在本专利技术中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等 术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机 械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元 件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发 明中的具体含义。此外,在本专利技术的描述中,除非另有说明,“多个”的含义是两个或两个以 上。下面分别参考图1至图2对本专利技术实施例的云环境下的超文本预处理语言PHP代 码调试方法的流程进行描述。如图1所示,根据本专利技术第一方面的实施例的云环境下的超文本预处理语言PHP 代码调试方法,包括以下步骤SlOl :应用程序通过代码中的PHP扩展调用云端服务器中的Xhprof工具。在本专利技术中,对Xhprof工具的扩展及内部实现逻辑加以修改,使得应用程序可以 通过代码中的PHP扩展调用Xhprof工具。Xhprof是一个开源的分层PHP性能分析工具,它 报告函数级别的请求次数和各种指标,包括阻塞时间,CPU时间和内存使用情况。在具体实施例中,Xhprof工具的PHP扩展可以以函数的形式实现,例如 baexhprof_start O设置为程序代码中调试开始处,baexhprof_end()设置为程序代码中 调试结束处,当程序代码运行到设置好的区间时,即调用云端服务器中的Xphrof工具。S102 =Xhprof工具获得应用程序的环境变量。S103 =Xhprof工具读取调试开关并判断调试开关是否开启。在本专利技术的一个实施例本文档来自技高网...
【技术保护点】
一种云环境下的超文本预处理语言PHP代码调试方法,其特征在于,包括以下步骤:应用程序通过代码中的PHP扩展调用Xhprof工具;所述Xhprof工具获得所述应用程序的环境变量;所述Xhprof工具读取调试开关并判断所述调试开关是否开启;如果所述调试开关开启,所述Xhprof工具启动调试,生成调试数据,并将所述调试数据存储至所述云端服务器对应的Bucket中;以及所述云端服务器根据所述调试数据生成调试结果,并将所述调试结果返回到所述客户端,通过所述客户端向用户展示所述调试结果。
【技术特征摘要】
1.一种云环境下的超文本预处理语言PHP代码调试方法,其特征在于,包括以下步骤 应用程序通过代码中的PHP扩展调用Xhprof工具; 所述Xhprof工具获得所述应用程序的环境变量; 所述Xhprof工具读取调试开关并判断所述调试开关是否开启; 如果所述调试开关开启,所述Xhprof工具启动调试,生成调试数据,并将所述调试数据存储至所述云端服务器对应的Bucket中;以及 所述云端服务器根据所述调试数据生成调试结果,并将所述调试结果返回到所述客户端,通过所述客户端向用户展示所述调试结果。2.如权利要求1所述的云环境下的PHP代码调试方法,其特征在于,其中,所述调试开关包括Bucket名和对应的时间子串。3.如权利要求1或2所述的云环境下的PHP代码调试方法,其特征在于,所述Xhprof工具读取调试开关并判断所述调试开关是否开启,还进一步包括 所述Xhprof工具判断所述调试开关中的时间字串是否大于当前系统时间; 如果所述Xhprof工具判断大于当前系统时间,则判断所述调试开关失效;以及 如果所述Xhprof工具判断小于等于当前系统时间,则启动所述调试。4.如权利要求1-3任一项所述的云环境下的PHP代码调试方法,其特征在于,还包括 生成所述调试数据的标识信息,所述标识信息用于区分所述调试数据。5.如权利要求1-4任一项所述的云环境下的PHP代码调试方法,其特征在于,所述调试结果包括 所述调试数据,以及所述调试数据相对应的标识信息、报表和/或图像。6.如权利要求5所述的云环境下的PHP代码调试方法,其...
【专利技术属性】
技术研发人员:胡晓亮,
申请(专利权)人:百度在线网络技术北京有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。