使用NetBeans调试PHP?

更新1:

我做了以下更改:

/etc/php5/apache2/conf.d/xdebug.ini

看起来像这样:

zend_extension=/usr/lib/php5/20090626+lfs/xdebug.so
xdebug.remote_enable=On
xdebug.remote_enable=1
xdebug.remote_host="localhost"
xdebug.remote_port=9000
xdebug.remote_handler="dbgp"

phpinfo看起来像这样:

debug           
xdebug support      enabled 
Version     2.0.5   
Supported protocols     Revision    
DBGp - Common DeBuGger Protocol     $Revision: 1.125.2.6 $ 
GDB - GNU Debugger protocol     $Revision: 1.87 $  
PHP3 - PHP 3 Debugger protocol      $Revision: 1.22 $  
Directive   Local Value     Master Value
xdebug.auto_trace   Off     Off
xdebug.collect_includes On      On
xdebug.collect_params   0       0
xdebug.collect_return   Off     Off
xdebug.collect_vars Off     Off
xdebug.default_enable   On      On
xdebug.dump.COOKIE  no value        no value
xdebug.dump.ENV no value        no value
xdebug.dump.FILES   no value        no value
xdebug.dump.GET no value        no value
xdebug.dump.POST    no value        no value
xdebug.dump.REQUEST no value        no value
xdebug.dump.SERVER  no value        no value
xdebug.dump.SESSION no value        no value
xdebug.dump_globals On      On
xdebug.dump_once    On      On
xdebug.dump_undefined   Off     Off
xdebug.extended_info    On      On
xdebug.idekey   no value        no value
xdebug.manual_url   http://www.php.net      http://www.php.net
xdebug.max_nesting_level    100     100
xdebug.profiler_aggregate   Off     Off
xdebug.profiler_append  Off     Off
xdebug.profiler_enable  Off     Off
xdebug.profiler_enable_trigger  Off     Off
xdebug.profiler_output_dir  /tmp        /tmp
xdebug.profiler_output_name cachegrind.out.%p       cachegrind.out.%p
xdebug.remote_autostart Off     Off
xdebug.remote_enable    On      On
xdebug.remote_handler   dbgp        dbgp
xdebug.remote_host  localhost       localhost
xdebug.remote_log   no value        no value
xdebug.remote_mode  req     req
xdebug.remote_port  9000        9000
xdebug.show_exception_trace Off     Off
xdebug.show_local_vars  Off     Off
xdebug.show_mem_delta   Off     Off
xdebug.trace_format 0       0
xdebug.trace_options    0       0
xdebug.trace_output_dir /tmp        /tmp
xdebug.trace_output_name    trace.%c        trace.%c
xdebug.var_display_max_children 128     128
xdebug.var_display_max_data 512     512
xdebug.var_display_max_depth    3       3

我已经检查过netbeans工具>选项> php设置,它们与下面第一个答案中所述的相同.然后,我选择一条if语句,单击ctrl f8并添加一个换行符,但我不确定下一步要做什么,因为netbeans中的大多数调试和运行选项均已禁用.

原始问题:

我已经尝试遵循许多指南,但是似乎无法在netbeans中调试php才能正常工作

我已经安装了灯架,netbeans,xdebug,netbeans php插件,并将以下内容添加到/etc/php5/apache2/conf.d/xdebug.ini中:

zend_extension=/usr/lib/php5/20090626+lfs/xdebug.so
xdebug.remote_enable=On
xdebug.remote_host="localhost"
xdebug.remote_port=9000
xdebug.remote_handler="dbgp"

如果我随后重新启动apache2并加载netbeans并打开php页面并添加断点,则netbeans中的所有调试和运行选项都被禁用…

我究竟做错了什么?

我正在使用ubuntu 10.04,并且所有内容都是通过标准ubuntu存储库安装的.

解决方法:

您的xdebug设置看起来不错,尽管您可能需要添加另一行

xdebug.remote_enable=1

您可能需要检查/更改Netbeans中的一些设置.转到工具-选项-PHP-常规,并验证调试器端口设置为9000(您的xdebug端口也是如此)并将会话ID设置为netbeans-xdebug

当您转到调用phpinfo()的页面并检查输出中的xdebug时,可以验证xdebug是否正在运行.

上一篇:javascript-Netbeans jQuery选择器自动完成


下一篇:Java-setVisible(true)对GUI没有影响