是否可以在没有图形界面的远程服务器上使用断点进行调试?

时间:2012-09-12 21:00:08

标签: php debugging breakpoints

如何在没有图形界面的情况下在远程服务器上调试PHP代码?

我将在浏览器上运行代码。我们可以插入断点来调试代码,查看变量值等吗?也许使用xdebug或zend_debugger?

如果是,我怎么能这样做?请指教给我。

1 个答案:

答案 0 :(得分:0)

如果您没有与断点绑定,那么还有一些其他广泛使用的方法可以在服务器上调试PHP代码。

维基百科defines it as print or trace debugging

  

打印(或跟踪)调试是指示(实时或记录的)跟踪语句或打印语句的行为,它们指示进程的执行流程。由于在C中使用了printf语句,这有时称为printf调试。

我喜欢称之为Hi-driven development

  

通过以反复试验的方式编写alert('Hi')语句来调试程序时

基本上,您的想法是设置PHP代码以在代码中的某些点回显或打印出值,然后您可以检查输出。如果希望执行停止,您甚至可以在打印某个值后使用exit()命令。

使用此方法时的另一个提示,特别是在尝试调试实时服务器时,是将所有调试语句包装在IP地址条件中。这样只有你的 IP地址才能看到这些调试输出,其他用户也不会注意到任何不同的内容。

$ipWhiteList = array(
    '10.0.0.1', // office
    '10.0.0.2', // wireless
    ...
);
if(in_array($_SERVER['REMOTE_ADDR'],$ipWhiteList)){
    echo "Debug  : I have reached this line of code!";
}