Articles of xdebug

Ubuntu的phpstorm:解释器没有指定或有效

我在Ubuntu上configurationphpstorm的debugging器。 我很容易在Windows上正确设置解释器的path,如C:xampp/php 。 但是linux应该有不同的解释器path。 我在这个网站search了很多,也在谷歌,但无法得到答案。 什么应该是PHP的解释path,以便PHPstorm识别它,因此我可以做debugging? 有什么遗漏? 谢谢。

如何在Ubuntu 16.04上设置Docker + PhpStorm + xdebug

我的问题是,当我开始侦听端口时,xdebug不起作用。 我认为PhpStorm不能链接到xdebug。 我只是得到debugging器面板variables不可用。 这看起来像xdebug没有正确的设置。 使用的软件和版本: Ubuntu 16.04 LTS Docker v 17.06 docker-compose 1.15 所以我试了很多次设置xdebug + Docker + PhpStorm,但不能这样做。 我读过很多教程,但没有任何帮助我。 我docker-compose.yml如下所示: version: '3' services: web: image: nginx:latest ports: – "80:80" restart: on-failure volumes: – "./etc/nginx/default.conf:/etc/nginx/conf.d/default.conf" – "./etc/ssl:/etc/ssl" – "./project:/var/www/html/project" depends_on: – php – db php: image: nanoninja/php-fpm restart: on-failure volumes: – "./etc/php/php.ini:/usr/local/etc/php/conf.d/php.ini" – "./project:/var/www/html/project" db: image: […]

当我在Eclipse中debuggingPHP脚本时,它不加载mysql扩展

我在Ubuntu 10.10上安装了Eclipse和xDebug。 当我debugging一些PHP文件作为一个页面,这工作正常。 当我尝试debugging它作为脚本,我给消息,MySQL扩展未加载。 我为PHP可执行文件设置了以下选项: 可执行文件path:/ usr / bin / php PHP ini文件:/etc/php5/apache2/php.ini SAPItypes:CLI PHPdebugging器:XDebug 我写了下面的脚本: test.php的 <?php $ext = get_loaded_extensions(); print_r($ext); ?> 当我把命令行/ usr / bin / php test.php 我给50个加载的模块包括mysql和mysqli。 当我在Eclipse中debugging它时,我给出了相同的模块和xdebug。 当我在Eclipse中将其作为页面进行debugging时,我给出了包含xdebug的45个模块,但是不会加载mysql和mysqli。

Nginx + php-fpm:只有在xdebug服务器运行时才会出现错误的网关

问题 当xdebug服务器从IntelliJ IDEA运行时,当我尝试加载我的站点来触发断点时,我得到了来自nginx的502 Bad Gateway 。 如果我停止xdebug服务器,该网站按预期工作。 所以,我不能运行debugging器,但它以前的工作(!)。 无法确定为什么突然停止工作。 build立 对设置的简短解释(让我知道如果我需要扩大这一点)。 我的php应用程序正在volumes_from容器中运行,并且使用volumes_from composeconfiguration中的volumes_from链接到运行在不同容器中的nginx。 启动应用程序后,我可以validation使用phpinfo(); xdebug模块被加载。 我的xdebug.ini有以下内容: zend_extension=xdebug.so xdebug.remote_enable=1 xdebug.remote_host=10.0.2.2 xdebug.remote_connect_back=0 xdebug.remote_port=5555 xdebug.idekey=complex xdebug.remote_handler=dbgp xdebug.remote_log=/var/log/xdebug.log xdebug.remote_autostart=1 我通过以下步骤获得了remote_host的IP地址(xdebug服务器正在运行): docker-machine ssh default route -n | awk '/UG[ \t]/{print $2}' <– Returns 10.0.2.2 为了validation我可以从我的PHP容器中debugging服务器,我做了以下步骤 docker exec -it randomhash bash nc -z -v 10.0.2.2 5555 根据xdebug服务器运行或不运行给出以下输出: 运行: Connection to 10.0.2.2 […]

带有PHPStorm和Docker容器的Xdebug

安装程序:Windows 10; 在Hyper-V上运行Boot2Docker的Docker; PHPStorm 9 VM上的Web服务器是Nginx。 我为php5-fpmconfiguration了xdebug.ini,如下所示: zend_extension=xdebug.so xdebug.remote_enable=on xdebug.remote_port=9000 xdebug.remote_connect_back=On xdebug.remote_handler=dbgp xdebug.profiler_enable=0 如果我设置了一个断点并重新加载页面,我在PHPStorm中从Xdebug得到了一个连接: 我不知道只有一个文件显示,而不是整个项目更大。 如果我接受连接,我可以debugging第一行,但它不会停在我的断点上,并创build一个如下所示的服务器条目: 主机是空的是什么很奇怪。 我已经添加了正确的映射服务器,但它被忽略。 那么如何让Xdebug在断点处停下来?

如何使用nginx启用xdebug?

我的情况如下: 我有一个虚拟机(Ubuntu服务器13.04)与PHP 5.4.9-4ubuntu2.2,nginx / 1.2.6,php5-fpm和Xdebug v2.2.1。 我正在开发一个使用PhpStorm 6.0.3(我在VM上部署)的应用程序。 我的问题是,每当我尝试启动一个debugging会话时,IDE永远不会从Web服务器获得连接请求(因此,会话永远不会启动)。 我看了很多关于xdebugconfiguration的build议,结果发现没有用。 我最近意识到,如果我通过浏览器(感谢FireCookie)自己设置XDEBUG_SESSION cookie,我可以debugging我的应用程序…所以我的猜测是有一些东西让web服务器把cookie发送回客户端。 问题是,我在一个不同的项目中使用了相同的IDEconfiguration,它被部署到不同的基于CentOS的虚拟机(使用lighttpd),并且工作得很好。 我试图将我当前的项目部署到这样的虚拟机(更改networking服务器到NginX),它的工作好(不幸的是我失去了虚拟机,无法检查configuration:()。 所以…这是我的NginXconfiguration: server { listen 80 default_server; listen [::]:80 default_server ipv6only=on; server_name localhost; location / { try_files $uri $uri/ /dispatch.php; } # location ~ \.php$ { root /var/www/bresson/web; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index dispatch.php; fastcgi_param SCRIPT_FILENAME /var/www/$fastcgi_script_name; include fastcgi_params; #fastcgi_pass 127.0.0.1:9009; } } fpm […]

在XDEBUG中出错

我刚刚在我的eclipse PDT安装中安装了xdebug,现在我在使用本地debian框中的XDEBUGdebugging我的PHP代码时出现以下错误: networking启动已经在运行 2个问题: 我怎样才能在Eclipse中杀死这一切,而不是一起离开Eclipse? 是否有需要设置的其他configuration设置不在我的指示中? 任何帮助/方向,将不胜感激,因为我在我开始拉我的头发的地步。 谢谢! 这里是我添加到我的php.ini文件中的每个说明的dynamic扩展部分: ;load module zend_extension="/usr/lib/php5/20090626+lfs/xdebug.so" ;some options xdebug.remote_enable=1 xdebug.remote_handler=dbgp xdebug.remote_mode=req ;The following IP should be of the host running Eclipse! xdebug.remote_host=127.0.0.1 xdebug.remote_port=9000 xdebug.idekey= ;Only enable the following if you want profiler output (lots of data!) ;xdebug.profiler_enable=1 ;xdebug.profiler_output_dir=/var/log/XDebug/ ;xdebug.profiler_enable_trigger=1

在外部请求中启动Netbeans中的XDebug

我正在使用Netbeans 6.7和XDebug来debugging我的机器上的PHP站点,从Netbeans(Project-> Debug)启动请求。 这工作正常,是非常有用的。 我的问题是:是否有可能将debugging器附加到任何请求,而只是从Netbeans内部启动? 即不是单击“debugging”,而是将Netbeans置于debugging器启动的模式,并附加到下一个请求。 我有一种感觉,这可能是一个愚蠢的问题,但如果可能的话,这将是伟大的。 编辑:多一点信息 我的系统(Ubuntu 9.04)设置如下: /etc/php5/conf.d/xdebug.ini内容 zend_extension=/usr/lib/php5/20060613/xdebug.so xdebug.remote_enable=on xdebug.remote_handler=dbgp xdebug.remote_mode=req xdebug.remote_host=localhost xdebug.remote_port=9000 xdebug.idekey=netbeans-xdebug Netbeans PHPdebugging选项是默认的: Debugger Port: 9000 Session ID: netbeans-xdebug Stop at the First Line: ticked 我的/etc/hosts文件将www.mywebsite.comredirect到localhost 如果我点击Netbeans中的debuggingbutton,那么Firefox将以地址http://www.mywebsite.com?XDEBUG_SESSION_START=netbeans-xdebug启动,debugging器按预期工作。 但是,如果我只是浏览到http://www.mywebsite.com?XDEBUG_SESSION_START=netbeans-xdebug ,这不会启动NetBeans的debugging器。 我也尝试设置xdebug.remote_host=www.mywebsite.com ,但这没有什么区别。 另外,我已经启用了xdebug.remote_log ,并且显示了从netbeans内部启动时的信息,但是没有任何外部请求。 所以我不认为XDebug根本看不到外部请求。

Linux中的Netbeans和Xdebug

我已经安装了Xdebug,我可以从phpinfo()确认它已经正确安装了。 我已经采取了所有的网站提出的所有步骤,我google “netbeans xdebug安装等”。 它在Netbeans中仍然不起作用。 有没有人可以提供的build议? 这是我的php.inidebugging部分… [xdebug] zend_extension = /usr/lib/php5/20090626/xdebug.so xdebug.remote_enable = 1 xdebug.remote_mode = "req" xdebug.remote_handler = dbgp xdebug.remote_host = 127.0.0.1 xdebug.remote_port = 9000 xdebug.idekey = "netbeans-xdebug" 任何帮助将不胜感激!

运行100次的XAMPP在Windows上的PHP速度太慢

PHP在我的Windows桌面上运行得非常慢,以至于phpMyAdmin需要几分钟的时间才能打开数据库。 下面是运行一个简单的PHPtesting程序的时间比较: 运行XAMPP的Windows 8.1机器: 3597毫秒 iPage共享主机: 65毫秒 A2Hosting共享主办: 26毫秒 这里是testing程序… <?php $rStartTime = microtime(true); $countTo = 100000; $a = 0; //$countTo = $countTo * 100; for ($x = 0; $x <= $countTo; $x++) { $a = sqrt(pow($x, 2)); } $rMs = floor((microtime(true) – $rStartTime) * 1000); echo 'timer done, countTo=' . $a . ' ms=' […]