它可能只是一个梦想,但是......我正在寻找具有调试支持的Linux php编辑器/ IDE(xdebug).
我知道有几个像Eclipse,Aptana,Netbeans,但是我记得它们都是用Java编写的,并且不完全是快速的.
我已经在Windows上使用带有dbgp插件的notepad ++(用于xdebug调试).不幸的是,记事本++在Linux中不可用(不是没有Wine技巧).
有谁知道任何具有xdebug支持的非Java轻量级编辑器?
感谢你的帮助.
我想尝试以下设置工作:
当我从Xampps主页运行phpinfo()时,XDebug没有在任何地方列出.我检查了Apache错误日志并且没有错误,所以它似乎加载模块没有问题?多年来我没有使用PHP,所以我不知道为什么这不起作用.
[PHP.ini]
[XDebug]
zend_extension_ts = "C:\xampp\php\ext\php_xdebug-2.1.0-5.3-vc9-x86_64.dll"
xdebug.remote_enable = 1
xdebug.remote_handler = "dbgp"
xdebug.remote_host = "localhost"
xdebug.remote_port = 9000
Run Code Online (Sandbox Code Playgroud) 我用vim与debugger和xdebug走线槽PHP应用程序.
在firefox(或任何其他浏览器)中,我需要打开页面,调用XDEBUG_SESSION_START=1附加到它的URL,以告诉xdebugPHP插件启动调试服务器.
这工作正常,但它可以变得更简单吗?
是否有一些firefox插件允许我自动添加此会话?一些xdebug设置允许我完全绕过这个?或者一些vim-addon,脚本或技巧,允许我自动添加该参数调用firefox?
使用Eclipse PDT和Xdebug调试PHP应用程序的当前状态是什么.有没有人最终得到它,即停止在Eclipse中定义的断点(不使用xdebug_break())?
我已经阅读了两年多的问题,但事实证明即使是现在(2013年5月)Helios也不会在断点处停下来.所以,我遵循建议并切换到伽利略,但却发现,它也没有停在断点处.我看到的唯一区别是Galileo也忽略了Open in Browser设置并且总是在外部webbrowser中进行调试,这本身就非常令人讨厌.
当我Break at First Line检查时,我看到每次单击任何链接时Eclipse任务栏图标都会闪烁,但Eclipse显然不会停止任何事情 - 无论是第一行还是断点.它执行(在外部浏览器中呈现整个页面,因为根本没有调试.
如果我取消选中Break at First Line,Eclipse甚至不会对我正在调试的页面做出反应.它贯穿整个代码并且无处可去.
我可以停止使用xdebug_break(),但这当然是一个笑话.如果这是唯一的选择,那么我根本不需要Eclipse和Xdebug.我可以使用记事本并die()获得相同的结果.
我已经读过某个地方,即使Galileo也没有停在断点上,我应该安装Juno.是否有任何 Eclipse版本或软件包可用于使用Xdebugs调试PHP应用程序并且能够在断点处停止?这已经开始疯了吗?我应该测试多少个版本?
我花了很多时间在这上面,阅读许多 不同的 StackOverflow 答案,安装三个不同的Eclipse版本,检查和取消选中数百个选项并重启Eclipse大约一百万次并最终没有任何结果.真的很感激任何帮助.
目前正致力于:Windows 7,Eclipse PDT Galileo SR 2,PHP 5.3,XAMPP.
如果有人在那里,谁成功地使用Eclipse PDT和Xdebug来调试PHP应用程序并停止断点和尊重Open in Browser选项,那么请您提供一个关于安装,配置和检查以实现相同内容的简单答案吗?
我在Mac OS上使用XAMPP,尝试使用PHPUnit的代码覆盖检查,这需要XDebug.xdebug.so文件附带XAMPP所以我已经为PHP启用了Xdebug:
// /Applications/XAMPP/xamppfiles/etc/php.ini
[xdebug]
zend_extension="/Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20121212/xdebug.so"
xdebug.remote_enable=1
Run Code Online (Sandbox Code Playgroud)
现在,当我从Web服务器检查时,输出中有一个Xdebug部分phpinfo().
但是当我试图检查代码覆盖时,我收到一个错误:
$ phpunit --coverage-html report
PHPUnit 3.7.31 by Sebastian Bergmann.
The Xdebug extension is not loaded. No code coverage will be generated.
Run Code Online (Sandbox Code Playgroud)
我认为CLI使用的不同于php.iniApache.要查找php.iniCLI使用的文件,我执行了以下操作:
$ php -i | grep "php.ini"
Configuration File (php.ini) Path => /etc
Run Code Online (Sandbox Code Playgroud)
但是没有,/etc/php.ini所以我复制了一个:
$ sudo cp /Applications/XAMPP/xamppfiles/etc/php.ini /etc/php.ini
Run Code Online (Sandbox Code Playgroud)
现在我正在检查php -m模块,但没有Xdebug,我收到此错误:
$ php -m
Failed loading /Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20121212/xdebug.so: dlopen(/Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20121212/xdebug.so, 9): Symbol not found: _zend_execute_ex
Referenced …Run Code Online (Sandbox Code Playgroud) 我正在使用codeception(使用codecoverage)来检查我使用Yii2框架编写的应用程序的代码覆盖率.因为我的mac上的标准php安装没有启用xcode,所以我激活了它,在我的php.ini中添加了一个zend_module行.代码覆盖现在似乎有效,但速度很慢.是的我知道激活的xdebug和coverage生成需要一些时间,但我认为这是不正常的:即使只检查对象初始化的简单单元测试也需要15分钟.
我认为它不是cpu或ram问题而不是配置问题.
我开始代码覆盖:
codeception run unit --coverage-html
Run Code Online (Sandbox Code Playgroud)
我发现的事情:无论它有多大,第一次测试总是快速运行.第二个测试要慢得多(无论测试是什么),第三个测试更慢.我该如何追踪?我想发现问题.
再说一遍:我知道codecoverage会减慢测试速度,但是15分钟的简单测试并不正常.
//编辑:大约运行的测试 15分钟,需要1秒而不启用代码覆盖.
当我在Xdebug中设置断点时,我可以看到当前环境变量的内容.其中一些变量是一个内部有另一个数组的数组.我不知道如何查看该子数组的内容:

可能吗?怎么样?
我已经使用Homebrew ie 在我的mac上安装了PHP 7
$ brew install php70
Run Code Online (Sandbox Code Playgroud)
另外我想在我的机器上安装XDebug.
理想情况下,我希望有一个简单的解决方案,如再次使用brew,但不幸的是,似乎没有这样的公式存在(至少尚未),最新的包是homebrew/php/php56-xdebug.
我想在开始手动安装之前,请在此处查看是否还有其他解决方法.
任何建议将不胜感激.
我花了半天时间尝试不同的事情,包括我在gist.github.com上遇到的这个解决方案
我有一个docker-compose文件,它挂载一个包含我的客户端和服务器项目的文件夹:
volumes:
- ~/projectx:/projectx
Run Code Online (Sandbox Code Playgroud)
我的docker php.ini包含以下xdebug选项
[xdebug]
xdebug.remote_enable=1
xdebug.remote_port=9000
xdebug.remote_connect_back=On
xdebug.var_display_max_children = 999
xdebug.var_display_max_data = 999
xdebug.var_display_max_depth = 100
Run Code Online (Sandbox Code Playgroud)
我已在Xdebug的Chrome扩展程序安装
在我的mac主机文件中,我有以下内容,127.0.0.1 localhost dtest.xxx.com因此我可以访问我的网络应用程序(和其他docker web应用程序),通过dtest.xxx.com它们可以运行应用程序
在Phpstorm(版本2016.1.2)在首选项->语言和框架->PHP ->服务器我有:
主机= dtest.xxx.com,端口= 80,调试器= Xdebug的
使用路径映射被选中,我已经
文件/目录设置为/Users/<myname>/projectx/server
绝对路径在服务器上设置为/projectx/server
我已经尝试设置xdebug.remote_host从ifconfig获取的我的macs ip以及尝试ip/Users/<myname>/Library/Containers/com.docker.docker/Data/database/com.docker.driver.amd64-linux/slirp/host
但我不能打破一个断点,我甚至加了xdebug_break()双重检查.我也在运行最新的docker betaVersion 1.12.0-rc3-beta18 (build: 9996)
我非常感谢任何人的帮助,这对我来说是一个真正的阻碍.
如果需要任何进一步的信息,我很乐意提供.
我已将PhpStorm配置为调试HTTP GET - 但仅在我直接加载页面时.
当我想调试AJAX时,我会获取我要求JS的URL并创建一个PhpStorm配置来调试它.
不是特别优雅,是吗?
当然,我不能为POST请求做到这一点(或者我可以吗?).
理想情况下,我想在浏览器(Chrome)中加载我的AngularJs应用程序,并能够在PhpStorm中断点和调试后端.
我google了很多,发现很多接近,但我找不到答案:-(
谁可以帮忙?
[更新]几年后,我正在使用优秀的免费邮递员来测试GET和POST.
xdebug ×10
php ×7
ajax ×1
breakpoints ×1
codeception ×1
docker ×1
eclipse-3.5 ×1
eclipse-pdt ×1
editor ×1
helios ×1
homebrew ×1
ide ×1
linux ×1
macos ×1
php-7 ×1
phpstorm ×1
phpunit ×1
post ×1
sublimetext ×1
sublimetext3 ×1
vim ×1
xampp ×1
yii2 ×1