标签: xdebug

自动清除webgrind中的tmp文件

我使用webgrind,它会产生大量的缓存文件.

如何在服务器关闭或类似之后自动清除这些文件.我在windows7机器上使用WAMP安装.

这可能听起来很傻,但我不知道如何在wamp上暂时禁用webgrind.webgrind在执行脚本时是否也增加了相当大的开销?

PS:webgrind在上述语句中与xdebug互换使用.

php memcached profiling wamp xdebug

13
推荐指数
1
解决办法
4954
查看次数

无法配置Notepad ++ DBGP插件.Xdebug已经安装好了

我已经安装xdebugPHP,但现在我不能让notepad++ DBGp插件工作.

我有最新wamp的版本Win7wwww文件夹位于分区:d:\www.

我编写了一个测试文件test.php:

<?php
    $test = "3";
    echo $test;
?>
Run Code Online (Sandbox Code Playgroud)

我尝试使用以下链接在Web浏览器中打开它:

http://localhost/test.php?XDEBUG_SESSION_START=test
Run Code Online (Sandbox Code Playgroud)

但是DBGp不会连接.我有没有尝试过IDE_Key.

我已多次浏览文档,但无法找到/解决问题.希望有人能够知道原因.

以下是一些屏幕截图:

谢谢

在此输入图像描述

在此输入图像描述

php xdebug notepad++ dbg

13
推荐指数
1
解决办法
2698
查看次数

Linux中的Netbeans和Xdebug

我已经安装了Xdebug,我可以确认phpinfo()它已正确安装.我已经采取了所有提出的google"netbeans xdebug install等" 网站中给出的所有步骤.

它仍然无法在Netbeans中运行.有人可以提供任何建议吗?

这是我的php.ini调试部分......

[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"
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激!

linux netbeans xdebug

13
推荐指数
2
解决办法
7719
查看次数

没有用xdebug,PhpStorm和Laravel 3/mod_rewrite命中的断点

我非常绝望并且没有想法:

我为Laravel 3项目配置了xdebug和PhpStorm.在Mac OS X Apache上本地运行项目,因此PhpStorm和Web应用程序在同一台机器上运行.配置虚拟主机,以便localhost.lt指向Laravel的公共目录.

php.ini中的相关xdebug条目:

zend_extension = /usr/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so
[xdebug]
xdebug.idekey="PHPSTORM"
xdebug.remote_enable=1
xdebug.profiler_enable=1
xdebug.remote_log=/var/log/xdebug_remote.log
xdebug.remote_connect_back=1
Run Code Online (Sandbox Code Playgroud)

确认扩展已加载.

设置PHP Web应用程序调试/运行配置,没有任何路径映射,因为没有符号链接,Web服务器和PhpStorm上的文件夹完全相同(因为Web服务器在同一台机器上).

当通过从IDE的"调试"发射,xdebug_remote.log正确地显示,我们已经在应用程序/库的一个文件中设置的断点:

<- breakpoint_set -i 5 -t line -f
file:///Users/RalfR/src/livetime/application/libraries/LiveTime.php -n 676
->
<response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="breakpoint_set" transaction_id="5" id="9230016"></response>
Run Code Online (Sandbox Code Playgroud)

但是,当我们单击从LiveTime.php库调用该函数的链接时,不会触发断点.日志显示:

<- stack_get -i 6 -> 
<response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="stack_get" transaction_id="6"><stack where="{main}" level="0" type="file" filename="file:///Users/RalfR/src/livetime/public/index.php" lineno="14"></stack></response>

<- run -i 7 -> 
<response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="run" transaction_id="7" status="stopping" reason="ok"></response>

<- run -i 8
Log closed at 2013-04-22 21:03:57
Run Code Online (Sandbox Code Playgroud)

与许多框架一样,Laravel使用.htaccess mod_rewrite通过public/index.php来管道所有内容.可能这是导致PhpStorm/xdebug无法捕获application/libraries/LiveTime.php中的断点的原因,因为xdebug似乎从未执行过LiveTime.php脚本?

如果是这样,我们如何解决这个问题呢?

xdebug phpstorm laravel laravel-3

13
推荐指数
1
解决办法
1万
查看次数

如何使用nginx启用xdebug?

我的情况如下:

我有一个VM(Ubuntu服务器13.04)与PHP 5.4.9-4ubuntu2.2,nginx/1.2.6,php5-fpm和Xdebug v2.2.1.

我正在使用PhpStorm 6.0.3开发一个应用程序(我在VM上部署).

我的问题是,每当我尝试启动调试会话时,IDE都不会从Web服务器获取连接请求(因此,会话永远不会启动).

我查看了很多关于xdebug配置的建议,但没有发现任何有用的东西.

我最近意识到,如果我通过浏览器自己设置XDEBUG_SESSION cookie(感谢FireCookie),我可以调试我的应用程序...所以我的猜测是有一些东西阻止网络服务器将cookie发送回客户端.

问题是,我在不同的项目中使用相同的IDE配置,该项目部署到不同的基于CentOS的VM(使用lighttpd),并且工作得很好.

我试图将我当前的项目部署到这样的VM(将Web服务器更改为NginX)并且它工作正常(不幸的是我丢失了该VM并且无法检查配置:().

所以...这是我的NginX配置:

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;
    }

}
Run Code Online (Sandbox Code Playgroud)

fpm config(/etc/php5/fpm/pool.d/www.conf):

listen = /var/run/php5-fpm.sock
Run Code Online (Sandbox Code Playgroud)

xdebug.ini:

zend_extension=/usr/lib/php5/20100525/xdebug.so
xdebug.remote_port=9000
xdebug.remote_enable=On
xdebug.remote_connect_back=On
xdebug.remote_log=/var/log/xdebug.log
Run Code Online (Sandbox Code Playgroud)

任何想法将不胜感激.谢谢!

编辑:

我尝试的另一件事是从php开始一个会话,我看到会话cookie创建没有任何问题...

第二编辑:

我想我找到了问题所在:URI.

我写了另一个脚本,以尝试配置参数和东西(更简单的一个),它工作正常!

所以最终我认为问题是查询参数(即:) XDEBUG_SESSION_START=14845没有达到我的脚本.

问题是我的起始URI,它是形式的/images/P/P1/P1010044-242x300.jpg.通过一些虚拟主机配置,我应该能够将其路由到类似的东西/dispatch.php/images/P/P1/P1010044-242x300.jpg,并使用URI的其余部分作为参数.所以...我本身没有找到解决方案,但现在我有一个可行的解决方法(指向我的起始URL /dispatch.php),这将暂时做到这一点.谢谢

xdebug nginx

13
推荐指数
1
解决办法
2万
查看次数

运行script.php时出错:端口9000正忙

我设置php.iniDebug configphpstorm.尝试在phpstorm事件日志中调试php脚本输出:

"Error running script.php: Port 9000 is busy"
Run Code Online (Sandbox Code Playgroud)

php.ini的结尾:

        [XDebug]
        zend_extension="/usr/lib/php5/20090626+lfs/xdebug.so"
        xdebug.remote_enable=1
        xdebug.remote_port="9000" (the default port is 9000)
        xdebug.profiler_enable=1
        xdebug.profiler_enable_trigger = 1
        xdebug.profiler_output_dir="/etc/php5/xdebug/profiler_output_dir"
Run Code Online (Sandbox Code Playgroud)

pStorm中的调试端口也设置在9000. netstat -na输出上:

tcp        0      0 127.0.0.1:9000          0.0.0.0:*               LISTEN 
Run Code Online (Sandbox Code Playgroud)

如果我设置到其他端口怎么办?例如设置它10001似乎做的工作.或者只是如何让它正常工作.我不确定我是否理解它是如何xDebug工作的.它就像Debug("script.php")(Shift+F9)在phpstorm中运行并在文件中设置断点?

有人有想法吗?

编辑:

来自:http: //xdebug.org/docs/remote

xdebug.remote_port
Type: integer, Default value: 9000
The port to which Xdebug tries to connect on the remote host. Port 9000 is the default for both the client …
Run Code Online (Sandbox Code Playgroud)

php linux port xdebug phpstorm

13
推荐指数
5
解决办法
3万
查看次数

Xdebug错误:"加载xdebug.so失败:xdebug.so:无法打开共享对象文件:没有这样的文件或目录"

我最近安装xdebug在我的服务器上,但限制它用于我们的测试站点,该站点使用它自己的php.ini文件.

例如,测试站点php.ini位于:

/home/test_site/public_html/subdomain_name/php.ini
Run Code Online (Sandbox Code Playgroud)

在这个php.ini文件里面我有以下xdebug:

[XDebug]
zend_extension = /usr/local/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so

xdebug.profiler_append = 0

xdebug.profiler_enable = 1

xdebug.profiler_enable_trigger = 0

xdebug.profiler_output_dir = /home/test_site/xdebug

xdebug.profiler_output_name = "cachegrind.out.%s-%u.%h_%r"
Run Code Online (Sandbox Code Playgroud)

现在,事情是,xdebug 工作正常,没有问题.

但是,在我们的主站点上,它也有自己的php.ini文件,例如位于:

/home/main_site/public_html/php.ini
Run Code Online (Sandbox Code Playgroud)

在这个文件里面,我什么都没有xdebug.

现在,我最近在cpanel中设置了一个cron,用于main site:

php -f /home/main_site/public_html/cron_jobs/main_cron.php > /home/main_site/public_html/logs/main_cron.log 2>&1
Run Code Online (Sandbox Code Playgroud)

现在,在检查日志文件中的cron输出后,我得到输出:

Failed loading xdebug.so:  xdebug.so: cannot open shared object file: No such file or directory
Run Code Online (Sandbox Code Playgroud)

当主站点甚至不能加载xdebug时,为什么会出现此错误?

php apache debugging xdebug php-ini

13
推荐指数
2
解决办法
2万
查看次数

Phpstorm,xdebug和vagrant仍在等待传入连接

这让我很烦,主要是因为它工作正常然后所有突然断点都停止了破坏,当我检查调试器时它只是在等待传入连接.

我的流浪汉机器正在运行 private_ip: 192.168.13.37

我的xdebug.ini配置如下:

zend_extension=/usr/lib/php5/20090626+lfs/xdebug.so
xdebug.remote_enable = on
xdebug.remote_connect_back = on
xdebug.remote_port = 9020
Run Code Online (Sandbox Code Playgroud)

这些是我的PHPstorm调试设置: 在此输入图像描述

我在PHPstorm中设置了一个流浪服务器,其主机dev.website.com指向Windows主机文件中的正确IP,端口为80,文件夹映射正确.

我也有PHP应用程序设置使用解释的服务器,其中一个启动URL /.

我点击了开始监听PHP调试连接,然后点击绿色小臭虫图标开始调试.这将使用以下查询字符串启动项目?XDEBUG_SESSION_START = 18359但是当我在调试窗口中查看PHPstorm时它会说waiting for incoming connection with ide key 18359

任何想法如何让它再次运作?

编辑 添加的xdebug日志:pastebin

php networking xdebug phpstorm vagrant

13
推荐指数
2
解决办法
1万
查看次数

Xdebug无法连接到客户端,我在哪里开始调试调试器?

我在sublime文本中为php设置xdebug,xdebug继续记录与无法连接相关的错误:

Log opened at 2016-08-18 21:06:01
I: Connecting to configured address/port: localhost:9988.
E: Could not connect to client. :-(
Log closed at 2016-08-18 21:06:01
Run Code Online (Sandbox Code Playgroud)

我希望通过访问http://localhost:9988我的浏览器直接调试可能有所帮助,但它只是显示谷歌浏览器错误页面:"localhost拒绝连接".也许错误存在于另一端,那个数据无法推送到sublime文本客户端,我不知道.Sublime文本xdebug确实在我运行tests/etc时显示消息"Reloading /var/log/xdebug/xdebug.log",所以它似乎知道正在运行的php代码,只是没有得到任何进一步.

所以,我从未想过我必须调试xdebug本身,但是:我如何调试xdebug到代码编辑器连接?如果这是nginx,我会开始调试虚拟主机,但因为它是xdebug ......我不知道从哪里开始调试缺少连接的应用程序?

##各种配置设置##

我在ubuntu linux 14.04上.

这是我的xdebug.ini conf,如果相关:

[xdebug]
xdebug.default_enable=1
xdebug.remote_enable=1
xdebug.remote_autostart=1
xdebug.remote_host="localhost"
xdebug.remote_handler="dbgp"
xdebug.remote_port=9988
xdebug.remote_mode = req
xdebug.overload_var_dump=0
xdebug.idekey = sublime.xdebug
xdebug.remote_log="/var/log/xdebug/xdebug.log"
;https://github.com/martomo/SublimeTextXdebug
Run Code Online (Sandbox Code Playgroud)

Xdebug安装:

apt-cache policy php-xdebug
php-xdebug:
  Installed: 2.4.0-5+donate.sury.org~trusty+1
  Candidate: 2.4.0-5+donate.sury.org~trusty+1
  Version table:
 *** 2.4.0-5+donate.sury.org~trusty+1 0
        500 http://ppa.launchpad.net/ondrej/php/ubuntu/ trusty/main amd64 Packages
        100 /var/lib/dpkg/status
Run Code Online (Sandbox Code Playgroud)

模块有效:

php -m | grep -i xdebug …
Run Code Online (Sandbox Code Playgroud)

php xdebug sublimetext3 sublime-text-plugin

13
推荐指数
1
解决办法
7204
查看次数

带有虚拟机的端口9000上的XDebug - EADDRINUSE ::: 90000

我在VirtualBox VM上运行我的Symfony应用程序.PHP正在使用XDebug运行,并且已正确配置.我知道这一点,因为其他人已设法使其与同一个VM的快照一起工作.

当我尝试在VS Code XDebug中配置时,我使用以下内容 launch.json

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Listen for XDebug",
            "type": "php",
            "request": "launch",
            "port": 9000
        },
        {
            "name": "Launch currently open script",
            "type": "php",
            "request": "launch",
            "program": "${file}",
            "cwd": "${fileDirname}",
            "port": 9000
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

但是当我点击"开始调试:侦听XDebug"时,我收到以下错误:

错误:听EADDRINUSE ::: 9000

我试图杀死正在使用该端口的进程......令我惊讶的是,这是我尝试连接的虚拟机.

我在这个配置中错过了什么?

php virtualbox xdebug visual-studio-code

13
推荐指数
3
解决办法
2065
查看次数