4

一点背景知识,我有一个客户端,它有一个在过去 12 个月内转换为 python/django 的遗留 php 站点。然而,他们在逐步淘汰它的同时仍在使用 php 站点。一些新数据仍然从用户那里收集在旧系统和数据库结构中,但客户希望它也可以在新站点上使用,这意味着在 php 代码中插入另一个 mysql insert 语句以写入新站点的数据库。

所以问题是 php 开发人员已经消失并且无法访问。此外,代码在多个目录中的每个 php 文件的多个版本中都是一团糟,零版本控制。所以我可以找到写入数据库的代码片段,但它在 20 多个地方。我想做的是与 django 类似的东西,在 POST 时在表单代码中插入一个“断言错误”行,然后查看 django 错误报告回溯页面,但这是 php.ini 文件。那么我在这里最好的选择是什么?请记住,我首先是一名 python 开发人员,充其量是一名 php hack。php 中是否有任何内置的东西可以让我在没有太多黑客攻击的情况下看到某种类型的回溯?

4

2 回答 2

1

phptrace是一个跟踪 php 执行流程的简单工具

$ ./phptrace -p 3130 -s             # phptrace -p <PID> -s
phptrace 0.2.0 release candidate, published by infra webcore team
process id = 3130
script_filename = /home/xxx/opt/nginx/webapp/block.php
[0x7f27b9a99dc8]  sleep /home/xxx/opt/nginx/webapp/block.php:6
[0x7f27b9a99d08]  say /home/xxx/opt/nginx/webapp/block.php:3
[0x7f27b9a99c50]  run /home/xxx/opt/nginx/webapp/block.php:10 
于 2015-01-05T11:11:25.737 回答
0

如果 MySQL 服务器的版本 >= 5.0.2,那么您可以使用触发器来使新站点上的数据保持最新。这可能比挖掘所有 PHP 代码(您建议您不习惯)更容易。

于 2011-10-13T14:03:01.143 回答