我在我的Apache上安装了xdebug,如果我在Netbeans中定义一个断点,那么执行会很好.但是如果我执行测试symfony phpunit:test-all,执行将不会在给定的断点上中断.
有任何想法吗?cowabunga!
我正在开发一个应用程序.
我正在使用Eclipse php Helios IDE开发php应用程序.
我想知道下面与这个IDE相关的事情,这样我就可以立即实现PHP应用程序并且非常有效:
1)如何使用Eclipse PHP Helios IDE进行远程调试
2)xdebug和zend调试器的优缺点是什么?
3)我们应该从xdebug,zend调试器使用哪个调试器.
4)除了上面提到的两个之外,还有其他可用的调试器吗?
下面链接我提到上面提到的调试器.
1)http://devzone.zend.com/article/2930-Debugging-PHP-applications-with-xdebug
2)http://www.eclipse.org/pdt/documents/XDebugGuideForPDT2.0.pdf
我没有在上面的URL中获得确切的信息,因为我提到上面的具体查询是必要的.
有人知道任何参考,请建议我.
谢谢 !!
-Pravin
我有一个非常慢的脚本来自其他人我需要配置文件以加快速度,我已经遵循了许多教程,但它仍然导致同样的步骤.
我已经从xDebug的网站下载了相应的二进制文件,将phpinfo复制到Xdebug的网站find_binary.php搜索功能中.
我有一个看似正确的设置.
Notepad ++(NPP)配置为使用指定的IDE密钥通过127.0.0.1:9000连接到Xdebug.
以下是特定于xdebug的php.ini部分.
[xdebug]
zend_extension_ts="C:\xampp\php\ext\php_xdebug.dll"
xdebug.remote_enable=1
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_handler=dbgp
Run Code Online (Sandbox Code Playgroud)
我使用的是PHP 5.4.4.
我的phpinfo输出没有提到Xdebug.
我正在尝试在我的MAMP PRO安装上设置Xdebug.我尝试使用xdebug.org/wizard.php获取正确的Xdebug版本,并附带自定义安装说明,但我遇到了问题.
根据定制安装说明中的步骤4,我应该得到以下输出:
Configuring for:
...
Zend Module Api No: 20100525
Zend Extension Api No: 220100525
Run Code Online (Sandbox Code Playgroud)
但我的输出如下:
Configuring for:
PHP Api Version: 20090626
Zend Module Api No: 20090626
Zend Extension Api No: 220090626
Run Code Online (Sandbox Code Playgroud)
接下来,我尝试xdebug.org/docs/faq#custom-phpize上的说明,因为定制的安装说明建议我这样做.
我通过删除xdebug-2.2.1.tgz和解压缩的文件夹撤消第一步,然后我再次从步骤1开始.我对第4步的输入是
/Applications/MAMP/bin/php/php5.4.4/bin/phpize
Run Code Online (Sandbox Code Playgroud)
输出内容如下:
grep: /Applications/MAMP/bin/php/php5.4.4/include/php/main/php.h: No such file or directory
grep: /Applications/MAMP/bin/php/php5.4.4/include/php/Zend/zend_modules.h: No such file or directory
grep: /Applications/MAMP/bin/php/php5.4.4/include/php/Zend/zend_extensions.h: No such file or directory
Configuring for:
PHP Api Version:
Zend Module Api No:
Zend Extension Api No:
Run Code Online (Sandbox Code Playgroud)
我的猜测是我需要安装php.h,zend_modules.h和zend_extensions.h但我无法在网上找到它们.我如何才能最好地安装Xdebug?
谢谢.
尝试使用Xdebug进行分析和跟踪时,我有点亏本(调试工作正常).更糟糕的是,我在不同的服务器/客户端设置上工作得很好,但我似乎无法看到这个开发人员工作站使用localhost的区别.也没有输出到xdebug.log.
服务器:Ubuntu 10.04,PHP 5.3.2,Xdebug 2.2.1
php.ini中:
xdebug.profiler_enable=0
xdebug.profiler_enable_trigger=1
xdebug.profiler_append = 1
xdebug.profiler_output_dir="/var/www/xdebug-profiles"
xdebug.profiler_output_name="xdebug-profile.%t.%p"
xdebug.auto_trace=0
xdebug.trace_enable_trigger=1
xdebug.trace_options = 1
xdebug.collect_params=4
xdebug.collect_return=1
xdebug.trace_format=2
xdebug.trace_output_dir="/var/www/xdebug-traces"
xdebug.trace_output_name="trace.%t.%p"
xdebug.file_link_format="xdebug://%f@%l"
xdebug.remote_log="/var/www/xdebug.log"
Run Code Online (Sandbox Code Playgroud)
显而易见的答案是"权限!" 不幸的是,我很确定不是这样的:
# ls -ld /var/www/xdebug-profiles/
drwxrwxrwx 2 www-data www-data 4096 2013-01-02 10:40 /var/www/xdebug-profiles/
Run Code Online (Sandbox Code Playgroud)
使用Firebug,我可以看到xdebug cookie肯定是在浏览器中设置的,以触发分析和跟踪.但是,即使我在php.ini中禁用触发并启用全局,我仍然没有得到任何输出.
有人有主意吗?我刚刚出来......
我正在研究一个使用的项目CodeIgniter.我使用Netbeans我的IDE,我已经Xdebug安装.我正在XAMPP用于本地开发.
什么有效: Xdebug工作得很好normal PHP code.
问题:但是,我在调试CodeIgniter项目时遇到问题.调试器在a上停止redirect()
问题详细信息:在netbeans中开始调试项目.调试器启动,我们看到主页.在主页上,有一个与主页控制器中的方法相对应的链接.调试器到达链接指向的控制器中的方法.在这种方法中有一个redirect.在重定向调试器STOPS点.
相关代码片段:
单击的URL(这是标题菜单的一部分)
<a href="<?= base_url("somefunc/"); ?>">Click Me </a>
Run Code Online (Sandbox Code Playgroud)
routes.php - 为更漂亮的网址重新路由.
$route['somefunc'] = "foo/somefunc";
Run Code Online (Sandbox Code Playgroud)
在我的Foo控制器(foo.php)中:
class Foo extends CI_Controller {
public function somefunc()
{
redirect('/bar/otherfunc'); // DEBUGGER REACHES TILL HERE THEN STOPS WORKING
}
}
Run Code Online (Sandbox Code Playgroud)
如上面评论中所述function somefunc(),Xdebug停止在重定向发生的地方工作.
此外,以下信息可能有一些用处:
config.php文件
$config['uri_protocol'] = 'AUTO'; // I have also tried …Run Code Online (Sandbox Code Playgroud) 我还没有完全掌握Python以便自己解决这个问题,所以我正在寻求帮助.
我的python模块中散布着各种日志消息.我希望调用模块的代码能够通过执行以下操作来设置调试级别:
module.DEBUG = INFO
例如.但我无法将其转化为工作.我有全局变量"DEBUG",我希望它在下面的行中解释,而不是DEBUG作为文字字符串,这是我认为正在发生的事情:
logging.basicConfig(format='%(levelname)s - %(message)s', level=logging.DEBUG)
Run Code Online (Sandbox Code Playgroud)
如何将该字符串视为变量而不是文字(如果发生了什么?)
谢谢!
--Matt
我试图通过仅针对我的实现执行本机php函数来了解更深入的PHP内部信息。
但是在每个操作码转储中,我都会看到以下两个操作码:
EXT_NOP :http : //php.net/manual/tr/internals2.opcodes.ext-nop.php
EXT_STMT:http : //php.net/manual/tr/internals2.opcodes.ext-stmt.php
如您在文档中所见,没有详细的解释。
即使在文档中给出的以下示例中,我的转储也不同于文档的特殊化。我真的很想知道为什么每个垃圾场都有这两个摊位吗?它们的功能是什么?
<?php
/*
* no operation
* opcode number: 0
*/
function A(){};
?>
Run Code Online (Sandbox Code Playgroud)
环保化:
LXC
Linux web 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt11-1+deb8u5 (2015-10-09) x86_64 GNU/Linux
PHP 5.6.15-1~dotdeb+7.1 (cli) (built: Nov 3 2015 16:29:58)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies
with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2015, by Zend Technologies
with Xdebug v2.3.3, Copyright (c) 2002-2015, by …Run Code Online (Sandbox Code Playgroud) 我刚从官方网站上安装了最新的XAMPP for PHP 5.6,我需要启用Xdebug,我发现该文件php_xdebug.dll存在C:\xampp\php\ext,但是根本没有[XDebug]配置,php.ini我不知道如何制作它工作.它应该默认安装并预先配置,我们只需要取消注释xdebug配置,php.ini但事实并非如此.我甚至尝试使用PECLcommmand 再次安装它,pecl install xdebug但是我收到以下错误:
pecl install xdebug
downloading xdebug-2.5.0.tgz ...
Starting to download xdebug-2.5.0.tgz (267,640 bytes)
.........done: 267,640 bytes
ERROR: failed to mkdir C:\php\pear\docs\xdebug\contrib
Run Code Online (Sandbox Code Playgroud)
在PHPStorm中,当我选择通过php.exe在XAMPP目录中选择添加解释器时,它Debugger : Not installed也会说.
我重新安装了XAMPP,但我仍然遇到同样的问题.提前致谢.
我从Thinkpad笔记本电脑转到HP Elitebook.我必须在我的新笔记本电脑中设置我的开发环境.在Windows 10 Pro 64位版本中设置我的Visual Studio代码和XAMPP后,我无法调试我的PHP代码.
我已经为Visual Studio Code正确安装了Xdebug扩展,并确保php.ini正确.这是我的设置php.ini(我使用便携式XAMPP放在E:驱动器上):
zend_extension = "E:\xampp\php\ext\php_xdebug-2.4.1-5.4-vc9.dll"
xdebug.remote_enable = 1
xdebug.remote_autostart = 1
xdebug.remote_log="E:\xampp\apache\logs\xdebug.log"
Run Code Online (Sandbox Code Playgroud)
我的xdebug.log显示如下信息:
Log opened at 2018-10-27 05:56:45
I: Connecting to configured address/port: localhost:9000.
I: Connected to client. :-)
-> <init xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" fileuri="file:///E:/xampp/htdocs/absen/index.php" language="PHP" xdebug:language_version="5.4.3-dev" protocol_version="1.0" appid="7112" idekey="william"><engine version="2.4.1"><![CDATA[Xdebug]]></engine><author><![CDATA[Derick Rethans]]></author><url><![CDATA[http://xdebug.org]]></url><copyright><![CDATA[Copyright (c) 2002-2016 by Derick Rethans]]></copyright></init>
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" status="stopping" reason="ok"></response>
Log closed at 2018-10-27 05:56:45
Run Code Online (Sandbox Code Playgroud)
但我的Visual Studio代码不会在断点处停止.
我已重新安装我的Visual Studio代码,XAMPP,并使用另一个Xdebug版本,但它仍然无法正常工作.
我有以下链接:
这些解决方案都不起作用.