我正在浏览客户的服务器,运行疯狂的专有论坛
软件(vBulletin),甚至更糟糕的 SEO 模组(vbseo)。我想不通
找出页面的 php 代码来自哪里!如何追踪这个
返回 PHP 页面的 URL:http://www.example.com/forum/members/connie.html http://www.example.com/forum/members/connie.html我刚刚加入了一个项目,其代码基于经过大量修改的 vBullitin 安装和 VBSEO 插件。这个特殊的插件是可怕的意大利面条代码,包含数十个 include()、.htaccess 重定向以及可能的 .httpd.conf 更改。然后它从数据库中提取字符串,所以我什至无法使用 grep 来查找代码文件!
有没有办法对 PHP 进行堆栈跟踪来记录生成页面的所有代码?我有 root 访问权限,但我不应该停止或重新启动服务器。生成页面的文件的 include() 层次结构的简单列表就足够了。
请注意,我无法使用 debug_backtrace,因为我不知道我要查找的代码在哪里! debug_backtrace 函数与我需要的完全相反。
Thanks.
听起来你需要逐步完成它Xdebug http://xdebug.org/。最常见的 IDE 支持它,例如Netbeans http://netbeans.org/features/php/ and PHPStorm http://www.jetbrains.com/phpstorm/.
资源:
- 使用 Xdebug 跟踪 PHP 应用程序 http://devzone.zend.com/article/2871
- 使用 Netbeans 进行 Xdebug http://netbeans.org/kb/docs/php/debugging.html
-
使用 PHPstorm 进行 Xdebug http://blog.jetbrains.com/webide/2011/02/zero-configuration-debugging-with-xdebug-and-phpstorm-2-0/(我建议)
- 使用 Eclipse 进行 X 调试 http://techmania.wordpress.com/2008/07/02/debugging-php-in-eclipse-using-xdebug/
-
Chrome Xdebug 扩展 https://chrome.google.com/extensions/detail/eippbhbeglgcphcjmpjcjinjamabeoln(我建议)
- 火狐Xdebug插件 https://addons.mozilla.org/en-US/firefox/addon/easy-xdebug/
在上述两个 IDE 中,您可以按住 CTRL 键并单击函数/方法,它会将您带到文件中定义该函数/方法的行。您还可以跟踪函数和变量的使用情况。
跟踪代码内置于 xdebug 中。这是 Zend 的一个示例:
<?php
xdebug_start_trace('c:/data/fac.xt');
print fac(7);
function fac($x)
{
if (0 == $x) return 1;
return $x * fac($x - 1);
}
xdebug_stop_trace();
?>
跟踪文件输出:
TRACE START [2007-10-26 12:18:48]
0.0068 53384 -> fac() C:\www\fac.php:5
0.0069 53584 -> fac() C:\www\fac.php:10
0.0069 53840 -> fac() C:\www\fac.php:10
0.0070 54096 -> fac() C:\www\fac.php:10
0.0070 54376 -> fac() C:\www\fac.php:10
0.0071 54656 -> fac() C:\www\fac.php:10
0.0072 54936 -> fac() C:\www\fac.php:10
0.0072 55216 -> fac() C:\www\fac.php:10
0.0073 55392 -> xdebug_stop_trace() C:\www\fac.php:13
0.0237 55392
TRACE END [2007-10-26 12:18:48]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)