标签: xdebug

通过ssh隧道转发端口9000的xdebug远程调试 - 如何使其工作?

我在Amazon EC2云中的"Amazon Linux"(Centos派生的)32位实例上运行XAMPP 1.7.3a.我下载/构建/安装了XDEBUG 2.1.0.phpinfo()输出中的相关项如下所示:

Directive                         Local Value  Master Value
xdebug.idekey                     ECLIPSE_DBGP ECLIPSE_DBGP
xdebug.default_enable             On           On
xdebug.remote_autostart           On           On
xdebug.remote_connect_back        Off          Off
xdebug.remote_cookie_expire_time  3600         3600
xdebug.remote_enable              On           On
xdebug.remote_handler             dbgp         dbgp
xdebug.remote_host                127.0.0.1    127.0.0.1
xdebug.remote_mode                req          req
xdebug.remote_port                9000         9000
xdebug.remote_log                 /opt/lampp/logs/xdebug_log
                                               /opt/lampp/logs/xdebug_log
Run Code Online (Sandbox Code Playgroud)

我使用PuTTY版本0.60中的SSH客户端从运行XP SP3的Windows笔记本电脑访问Linux机器.另外在笔记本电脑上我已经安装了Eclipse PDT(Helios Service Release 1 Build id:20100917-0705),我想我已经正确配置了使用端口9000进行XDEBUG远程调试.我说我,因为我'很难弄清楚如何做到这一点,以及如何使用Eclipse PDT.但我确实设法配置并使用端口9000在localhost(127.0.0.1)上使用XAMPP for Windows 1.7.3提供的网页运行的PHP代码的"远程"调试工作.服务器的phpinfo()输出在笔记本电脑,其PDT 能够调试是与上述相同,除了:

xdebug.idekey       my_username     no value
xdebug.remote_host  localhost       localhost
xdebug.remote_log   no value        no value
Run Code Online (Sandbox Code Playgroud)

我很确定这些差异与问题无关.事实上,xdebug.idekey最初是Linux上的"root novalue",然后我通过编辑php.ini并在启动apache的sudo-ed脚本中设置环境变量DBGP_IDEKEY来更改为ECLIPSE_DBGP,徒劳地希望让事情正常工作.

笔记本电脑和Linux机箱之间有防火墙和NAT路由器.所以我试图通过PuTTY ssh隧道使用端口转发来使Linux XDEBUG与Windows PDT通信.我一直在使用XT转发PuTTY几个月没有任何问题.我在PuTTY中设置了隧道,本地端口9000转发到Linux机箱上的9000端口,Linux机箱上的端口9000转发到127.0.0.1上的端口9000,PuTTY隧道面板显示:

L9000  host...amazonaws.com:9000
R9000 …
Run Code Online (Sandbox Code Playgroud)

php xdebug eclipse-pdt

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

配置Notepad ++ DBGP插件和XDebug for PHP

我按照以下步骤操作:

  1. 将x-debug*.dll下载到D:\ Program Files\webserver\php\ext\php_xdebug.dll
  2. 修改php.ini并插入以下内容

    zend_extension_ts="D:\Program Files\webserver\php\ext\php_xdebug.dll"
    xdebug.remote_enable=1
    xdebug.remote_handler=dbgp
    xdebug.remote_mode=req
    xdebug.idekey=default
    xdebug.remote_autostart=1
    
    Run Code Online (Sandbox Code Playgroud)
  3. 重启apache并成功安装XDebug.

  4. DBGP已成功安装并配置为127.0.0.1

但是XDebugger仍然没有连接/使用notepad ++.

php plugins xdebug notepad++

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

使用Eclipse和xDebug在浏览器上调试PHP文件

我一直在网上阅读有关在Eclipse和xDebug上使用PHP for Developers进行调试的内容.我已经为xDebug安装了所有必需的文件,现在当我在Eclipse中时,我可以使用脚本运行调试器,它运行正常.

问题是我在我的Windows机器上使用AppServ(Apache,PHP和MySQL),我想在我的浏览器中加载PHP页面时调试我的PHP文件(而不是运行它们)作为Eclipse中的脚本).

那可能吗?

乔尔

eclipse xdebug

7
推荐指数
2
解决办法
5218
查看次数

使用MAMP在Mac OSX上构建/安装XDebug

我在使用MAMP在Mac OSX上构建/安装XDebug时遇到问题.

到目前为止,我在网上进行了广泛的搜索,目前我被困在XDebug"安装向导"的一部分,它告诉我在我下载的源代码上"运行:phpize".

当我运行时,phpize我收到以下消息:

new-host-2:xdebug-2.2.0 Dima$ phpize
grep: /usr/include/php/main/php.h: No such file or directory
grep: /usr/include/php/Zend/zend_modules.h: No such file or directory
grep: /usr/include/php/Zend/zend_extensions.h: No such file or directory
Configuring for:
PHP Api Version:        
Zend Module Api No:     
Zend Extension Api No:  
Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.
Run Code Online (Sandbox Code Playgroud)

如果我做了which phpize我得到:

new-host-2:xdebug-2.2.0 Dima$ which phpize
/usr/bin/phpize
Run Code Online (Sandbox Code Playgroud)

这不是我想要使用的版本,我想使用phpize我假设的MAMP安装版本,因为我想在MAMP版本的PHP上安装XDebug.这很令人费解,因为我已将MAMP特定的PHP bin路径添加到我的.bash_profile中$PATH.

如果我跑echo $PATH我得到:

new-host-2:xdebug-2.2.0 …
Run Code Online (Sandbox Code Playgroud)

php mamp xdebug osx-lion

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

为什么Xdebug日志为空?

我正在尝试设置xdebug,以便可以从本地笔记本电脑上运行的PHP Storm调试远程服务器上的php代码。

它不起作用,但是我认为开始解决问题的一个好地方是查看xdebug日志。

遗憾的是,xdebug日志文件仍然为空。

我正在尝试通过运行第一行为phpinfo()的.php文件来测试xdebug

运行文件的结果为我提供了与xdebug相关的以下行:

xdebug support => enabled
xdebug.auto_trace => Off => Off
xdebug.cli_color => 0 => 0
xdebug.collect_assignments => Off => Off
xdebug.collect_includes => On => On
xdebug.collect_params => 0 => 0
xdebug.collect_return => Off => Off
xdebug.collect_vars => Off => Off
xdebug.coverage_enable => On => On
xdebug.default_enable => On => On
xdebug.dump.COOKIE => no value => no value
xdebug.dump.ENV => no value => no value
xdebug.dump.FILES => no value => no value
xdebug.dump.GET => no value …
Run Code Online (Sandbox Code Playgroud)

php xdebug phpstorm

7
推荐指数
1
解决办法
5016
查看次数

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

我的问题是当我开始监听端口时xdebug不起作用.我认为PhpStorm无法与xdebug链接.我只是得到调试器面板变量不可用.它看起来像xdebug没有正确的设置.

使用的软件和版本:

Ubuntu 16.04 LTS
Docker v 17.06
docker-compose 1.15
Run Code Online (Sandbox Code Playgroud)

所以我多次尝试设置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: mysql
        container_name: ${MYSQL_HOST}
        restart: on-failure
        env_file:
            - ".env"
        environment:
            - MYSQL_DATABASE=${MYSQL_DATABASE}
            - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
            - MYSQL_USER=${MYSQL_USER}
            - MYSQL_PASSWORD=${MYSQL_PASSWORD}
        command: mysqld --sql-mode=NO_ENGINE_SUBSTITUTION
        ports:
            - "8988:3306"
        volumes:
            - "./data/db/mysql:/var/lib/mysql"
Run Code Online (Sandbox Code Playgroud)

我 …

php ubuntu xdebug phpstorm docker

7
推荐指数
2
解决办法
3875
查看次数

NetBeans Xdebug 最大同时连接数

我正在使用 NetBeans 通过 xdebug 来调试 php,一切都很完美,但是当我正在调试的同一个脚本中有多个连接时。

我已经看到 PhpStorm 提供了配置检查:同时连接https://blog.jetbrains.com/phpstorm/2013/04/simultaneous-debugging-sessions-in-phpstorm/

我想知道 NetBeans 是否可以管理同时连接以及如何激活它?

php netbeans xdebug phpstorm

7
推荐指数
1
解决办法
377
查看次数

Docker + Xdebug + VSCode无法连接到客户端

PHP版本:7.1.20

XDebug版本:2.7.0

我在MacOS Mojave上使用Docker容器。按下“ F5”时,它将显示调试选项“暂停”,“重新启动”和“停止”。但是“跨步”,“步入”,“步出”被禁用。

我是一个学习者,因为我习惯在Windows OS上编写代码到2012-13。那年之后,我本月回到编码。:)即使查看过Google上有关如何解决此问题的许多帖子,我仍然不确定如何最终使其生效。请帮忙。

我的launch.json档案:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Listen for XDebug",
            "type": "php",
            "request": "launch",
            "port": 9001,
            "log": true,
            "pathMappings": {
                "/var/www/html": "${workspaceFolder}/learn"
            }
        },
        {
            "name": "Launch currently open script",
            "type": "php",
            "request": "launch",
            "program": "${file}",
            "cwd": "${fileDirname}",
            "port": 9001
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

XDebug php.ini配置:

xdebug.remote_host = 172.20.0.1
xdebug.remote_port = 9001
xdebug.scream = 1
xdebug.remote_enable = 1
xdebug.show_local_vars = 1
xdebug.remote_autostart = 1
xdebug.remote_connect_back = 1
xdebug.remote_log = "/var/www/html/xdebug.log" …
Run Code Online (Sandbox Code Playgroud)

php xdebug docker docker-compose visual-studio-code

7
推荐指数
2
解决办法
458
查看次数

Xdebug V3 不会停止 VSCode 中的断点

我正在尝试使用 VSCode 在我的 XAMPP 上进行调试,但没有成功。我知道有很多关于这个的问题,我已经尽我所能,但仍然无法奏效。

关于我的 xdebug 扩展,你真的有一件很奇怪的事情。我目前使用的是 PHP v7.4.12 和 Xdebug 版本 3。

我知道我的 Xdebug 可以在 PHP 上运行,因为我查看了phpinfo()它并显示了我如何设置它。怪异的一部分是许多教程那里通常之中zend_extension = path..xdebug.remote_enable = 1并且xdebug.remote_autostart = 1应该足够,但是当我的phpinfo它看作是如下所示:

在此处输入图片说明

我试图用设置xdebug.remote_port = 9000xdebug.remote_host = "localhost",但仍然无法工作。我什至读过有关将 localhost 更改为的内容,127.0.0.1但仍然无效。

任何帮助,将不胜感激。这是我的 launch.json 文件和 php ini 文件。

配置文件

zend_extension = "C:\xampp\php\ext\php_xdebug.dll"
xdebug.remote_enable = 1
xdebug.remote_autostart = 1
xdebug.remote_log = "C:\xampp\tmp\xdebug\xdebug.log"
xdebug.remote_port = 9000
xdebug.remote_host = "127.0.0.1"
xdebug.idekey=VSCODE
Run Code Online (Sandbox Code Playgroud)

启动文件

{
    // Use IntelliSense to learn about …
Run Code Online (Sandbox Code Playgroud)

php xampp xdebug visual-studio-code xdebug-3

7
推荐指数
2
解决办法
4290
查看次数

如何将 xdebug 添加到 php:8.1-fpm-alpine Docker 容器?

我的 phpunit 容器有这个 dockerfile:

FROM php:8.1-fpm-alpine

WORKDIR /var/www/html

RUN apk add --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/edge/community/ --allow-untrusted gnu-libiconv
ENV LD_PRELOAD /usr/lib/preloadable_libiconv.so php

ENV PHP_MEMORY_LIMIT=1G
ENV PHP_UPLOAD_MAX_FILESIZE: 512M
ENV PHP_POST_MAX_SIZE: 512M

RUN docker-php-ext-install pdo

RUN apk add --no-cache libpng libpng-dev && docker-php-ext-install gd && apk del libpng-dev

RUN apk update \
    && apk upgrade \
    && apk add --no-cache \
        freetype \
        libpng \
        libjpeg-turbo \
        freetype-dev \
        libpng-dev \
        jpeg-dev \
        libwebp-dev \
        libjpeg \
        libjpeg-turbo-dev

RUN docker-php-ext-configure gd \
        --with-freetype=/usr/lib/ \ …
Run Code Online (Sandbox Code Playgroud)

phpunit xdebug docker docker-compose xdebug-3

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