【问题标题】:how to select laravel controller to test using netbeans如何使用 netbeans 选择 laravel 控制器进行测试
【发布时间】:2013-04-12 02:48:08
【问题描述】:

我正在使用 netbeans 7.3 来调试我的 laravel 3.2 项目。我无法让 xdebug 工作,因为它不会在断点处停止(顺便说一句,相同的设置适用于 codeigniter 项目,所以我不认为它是 IDE 或 xdebug)。

我在项目属性->运行配置对话框中设置了以下参数:

project URL: http://localhost/my_project/public/my_controller
index file: blank
arguments: blank

它运行良好,只是 xdebug 不起作用。有人可以帮我搞定它吗?

我的开发堆栈是 http://www.easyphp.org/ 。在底部的 php.ini 文件中,我有:

我刚刚通过定制的安装说明运行了我的 phpinfo,并得到了:

Tailored Installation Instructions

    Summary

    Xdebug installed: Only as PHP extension!
Server API: Apache 2.4 Handler Apache Lounge
Windows: yes - Compiler: MS VC9 - Architecture: x86
Zend Server: no
PHP Version: 5.4.6
Zend API nr: 220100525
PHP API nr: 20100525
Debug Build: no
Thread Safe Build: yes
Configuration File Path: C:\Windows
Configuration File: F:\EZPHP\apache\php.ini
Extensions directory: F:\EZPHP\php\php546x130301155435\ext
Instructions

Warning: You seem to have Xdebug loaded as a normal PHP extension only. This will cause odd issues, please see the FAQ entry on it.

Download
Move the downloaded file to F:\EZPHP\php\php546x130301155435\ext
Edit F:\EZPHP\apache\php.ini and add the line
zend_extension = F:\EZPHP\php\php546x130301155435\ext\
Restart the webserver

我试过这个,但我注意到它没有说明要下载哪个版本。我下载了 32 位线程安全版本,现在在 php.ini 的底部:

Xdebug
;zend_extension = "${path}\php\php546x130301155435\php_xdebug-2.2.1-5.4-vc9.dll"
zend_extension = "F:\EZPHP\php\php546x130301155435\ext\php_xdebug-2.2.2-5.4-vc9.dll"
xdebug.default_enable=0
xdebug.remote_enable=1
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_autostart = false
xdebug.dump_globals=1
xdebug.dump=COOKIE,FILES,GET,POST,REQUEST,SERVER,SESSION
xdebug.dump.SERVER=REMOTE_ADDR,REQUEST_METHOD,REQUEST_URI
xdebug.show_local_vars=1
xdebug.show_mem_delta=1
xdebug.collect_includes=1
xdebug.collect_vars=1
xdebug.collect_params=4
xdebug.collect_return=1
xdebug.auto_trace=0
xdebug.trace_options=0
xdebug.trace_format=0
xdebug.trace_output_dir="${path}\xdebug\trace"
xdebug.trace_output_name="trace.%t"
xdebug.profiler_enable=0
xdebug.profiler_append=1
xdebug.profiler_enable_trigger=1
xdebug.profiler_output_dir="${path}\xdebug\profiler"
xdebug.profiler_output_name="cachegrind.out.%s.%t"
;/Xdebug    

;PHPExt 
extension=php_bz2.dll
extension=php_curl.dll
;extension=php_fileinfo.dll
extension=php_gd2.dll
;extension=php_gettext.dll
;extension=php_gmp.dll
;extension=php_intl.dll
;extension=php_imap.dll
;extension=php_interbase.dll
;extension=php_ldap.dll
extension=php_mbstring.dll
;extension=php_exif.dll
extension=php_mysql.dll
extension=php_mysqli.dll
;extension=php_oci8.dll
;extension=php_oci8_11g.dll
extension=php_openssl.dll
;extension=php_pdo_firebird.dll
extension=php_pdo_mysql.dll
;extension=php_pdo_oci.dll
;extension=php_pdo_odbc.dll
;extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll
;extension=php_pgsql.dll
;extension=php_pspell.dll
;extension=php_shmop.dll
;extension=php_snmp.dll
;extension=php_soap.dll
extension=php_sockets.dll
;extension=php_sqlite.dll
extension=php_sqlite3.dll
;extension=php_sybase_ct.dll
;extension=php_tidy.dll
;extension=php_xmlrpc.dll
extension=php_xsl.dll
extension=php_yaz.dll
;/PHPExt

按照指示,在我的文档根目录中放置一个文件,其中包含

Configuration File (php.ini) Path  C:\Windows  
Loaded Configuration File  F:\EZPHP\apache\php.ini  

作为补充说明,我刚刚发现当我在 xdebug_break() 中硬编码时它会中断

【问题讨论】:

标签: php netbeans laravel xdebug


【解决方案1】:

打开您的 php.ini 文件并通过输入注释 php_xdebug.dll ;在它面前。所以它看起来像这样:

;extension=php_xdebug.dll

【讨论】:

  • 我已经在我的 php.ini 文件的底部加入了。我没有看到 php_xdebug.dll。
【解决方案2】:

您确定正在查看使用的 .ini 文件吗?创建一个 php 文件并添加 <?php phpinfo(); 在浏览器中打开它并查看顶部(在顶部块中的“加载的配置文件”和“已解析的其他 .ini 文件”下列出)以获取正在使用的活动 .ini 文件.

然后打开该文件,搜索 xdebug 并注释掉或删除任何包含extension=php_xdebug.dll 的行。

另外,请通过在此处粘贴并提交 phpinfo() 的内容来验证您是否已正确安装 xdebug:http://xdebug.org/find-binary.php

【讨论】:

  • 我在上面添加了一些来自 phpinfo() 的输出。此外,我还包含了来自xdebug.org/find-binary.php 的上面的输出(它实际上并没有告诉我要使用哪个二进制文件,我估计输出 32 位、线程安全、php 5.4 的 basds )而且我在文件中看不到 php_xdebug.dll。
  • 我很确定您遇到的错误是由 .ini 文件中某处的 extension=php_xdebug.dll 引起的(因为我曾经遇到过同样的问题)。您是否打开了 phpinfo() 列出的所有 .ini 文件,并确保它们都没有在任何地方包含 xdebug?我敢打赌你正在编辑一个你的本地 php 安装实际上并没有使用的 .ini 文件 - 所以请确保从你的 phpinfo() 中检查指定的 .ini 文件
  • 在我的 phpinfo 输出中,上面列出了对 php.ini 的唯一引用。我查了找不到php_xdebug.dll,在c:/windows中也找不到php.ini
  • 嗨,am_,我并没有完全解决这个问题,但是你的 cmets 帮助我更接近解决方案,所以我奖励你。正如我发现 xdebug_break() 确实有效,所以我似乎有一个解决方案,但到目前为止我仍然无法让断点在 netbeans 中工作。最好的问候 - 比尔
  • 谢谢!这个问题确实很奇怪,我想唯一剩下要做的就是重新安装和/或考虑安装新的 LAMP。 XAMP (win) 和 MAMP (osx) 是一些最常用的 LAMP 包,使用其中之一并在其上安装 xdebug 可能会获得更好的结果。
猜你喜欢
  • 2022-01-11
  • 2018-10-01
  • 1970-01-01
  • 2015-10-13
  • 2016-01-14
  • 1970-01-01
  • 2012-09-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多