标签: xdebug

暂时禁用blackfire模块

我已经成功安装了blackfire代理、cli工具和探针,并且工作正常。我在使用 bf 进行分析时禁用了 xdebug 模块。

现在我想像以前一样使用xdebug,但是xdebug不起作用,它只是不会进入调试会话。没有断点甚至无法xdebug_break工作。生产者网站上的一句话说:

已知的不兼容性

请注意,不支持使用 debug 编译的 PHP,并且 Probe 可能与 XDebug 或 XHProf 发生冲突;启用探测器时禁用这些扩展。

有没有办法在不卸载整个 blackfire 工具链的情况下禁用 blackfire 代理?将文件移动/etc/php5/conf.d/90-blackfire.ini到备份位置不起作用。

更新 有效的方法是卸载 php 代理sudo apt-get remove blackfire-php。但我很确定一定有更好的解决方案。

php xdebug blackfire

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

Laravel 和 Xdebug - 由于致命错误,我无法调试:找不到所有控制器都扩展它的控制器类

所以我设法为 PHP 7 (7.0.4) 配置 Xdebug (2.4.0)。但是我无法在我的 Laravel 项目中使用它。我正在尝试调试 CartController 内的一段代码。但是它说存在错误,因为它找不到我的 CartController 扩展的控制器。这是我在 PhpStorm 控制台中得到的结果:

C:\xampp\php\php.exe -dxdebug.remote_enable=1 -dxdebug.remote_mode=req -dxdebug.remote_port=9000 -dxdebug.remote_host=127.0.0.1 C:\Users\Nikolay\Dropbox\store\app\Http \Controllers\CartController.php PHP 致命错误:在第 14 行的 C:\Users\Nikolay\Dropbox\store\app\Http\Controllers\CartController.php 中找不到类“App\Http\Controllers\Controller” PHP 堆栈跟踪: PHP 1. {main}() C:\Users\Nikolay\Dropbox\store\app\Http\Controllers\CartController.php:0

致命错误:在第 14 行的 C:\Users\Nikolay\Dropbox\store\app\Http\Controllers\CartController.php 中找不到类“App\Http\Controllers\Controller”

调用堆栈:2.1491 376944 1. {main}() C:\Users\Nikolay\Dropbox\store\app\Http\Controllers\CartController.php:0

进程已完成,退出代码为 255

当我在服务器上运行应用程序时,应用程序本身没有问题。我该如何解决这个问题以及为什么会发生这种情况?

编辑 - 28/05/2016 - 这是 CartController:

<?php

namespace App\Http\Controllers;

use App\Cart;
use App\CartItem;
use App\Product;
use Illuminate\Http\Request;

use App\Http\Requests;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Session;

class CartController extends Controller
{
    public function showCart() {...}

    public …
Run Code Online (Sandbox Code Playgroud)

php debugging xdebug laravel

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

将 xdebug 与前端 js SPA 结合使用?

当我直接访问我的服务器时(通过 homestead/vagrant 设置的 IP 的虚拟主机条目),我的 xdebug 工作得很好。但是,我有一个在 localhost:8080 上运行的解耦前端,它与 laravel 后端服务器通信,但 xdebug 不会触发这些请求。我XDEBUG_SESSION=PHPSTORM我只需要在来自前端的请求中设置 cookie ,但是我不确定如何使用 vue-resource 来做到这一点,因为我在文档中没有看到任何相关内容。我尝试了以下方法:

Vue.http.headers.common['Cookie'] = 'XDEBUG_SESSION=PHPSTORM'
Run Code Online (Sandbox Code Playgroud)

但是,我收到了Refused to set unsafe header "Cookie"Chrome 的警告。有人对我可以尝试的其他想法有什么想法吗?

php xdebug phpstorm vue.js

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

将 Xdebug 与 php-fpm 和 nginx 容器分开

我想将所有开发工具与主 php-fpm 和 nginx 容器分开。所以我基本上有3个名为php-fpm 的容器在端口 9000 上运行,nginx在端口 80 上运行,dev-tools。我已经在我的开发工具容器上安装了 xdebug、composer 等,但我很困惑如何配置 xdebug 以便它能够与 php-fpm 容器一起工作并可以调试我的网站?第二个问题 xdebug 需要 php-cli 或 php-fpm 才能运行吗?

#开发工具

FROM php:7.2-cli-alpine

# Install the PHP extensions we need
RUN set -ex \
    && curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin -- --filename=composer.phar \
    && apk add --no-cache git \
    && pecl install xdebug \
    && docker-php-ext-enable xdebug
Run Code Online (Sandbox Code Playgroud)

php xdebug nginx docker devops

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

使用 Visual Studio Code 配置调试 PHP 时出现问题

我正在尝试按照本教程在 VS Code 上配置 XDebug:

https://blogs.msdn.microsoft.com/nicktrog/2016/02/11/configuring-visual-studio-code-for-php-development/

但在这一点上:

在此输入图像描述

VS Code 不显示 PHP 选项。

我尝试重新安装 VS Code 和 XDebug。我尝试重新安装 php 服务器并更改 PHP 服务器,但没有任何效果。

我创建了其他教程,但向我展示了同样的问题:当我单击 gear 时,只显示不带 php 选项的 launch.json

在此输入图像描述

php wamp xdebug visual-studio-code

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

PhpStorm Xdebug Symfony 配置

我在主题配置方面遇到困难

遵循本指南:https://www.strangebuzz.com/en/blog/step-by-step-debugging-with-xdebug-symfony-and-phpstorm

我已经安装了XDEBUG

PHP 7.4.13 (cli) (built: Nov 28 2020 06:24:59) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.13, Copyright (c), by Zend Technologies
    with Xdebug v3.0.1, Copyright (c) 2002-2020, by Derick Rethans

Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

这是我的 xdebug 配置

zend_extension=xdebug.so
xdebub.remote_enable=1
xdebug.remote_mode = debug
xdebug.client_port = 9003

Run Code Online (Sandbox Code Playgroud)

在chrome中安装了xdebug扩展

我在控制器中放置了一些断点来检查它是否有效..没有任何反应

如果我尝试验证调试服务器配置,这就是错误

在此输入图像描述

我认为是因为 symfony 中的安全配置,但我也“打开”了子文件夹(公共/测试)的访问权限,但没有成功

有人可以帮我完成这个配置吗?谢谢

[编辑]

正如 @LazyOne 所建议的,我删除了 xdebug 配置中拼写错误的行

zend_extension=xdebug.so
xdebug.remote = debug
xdebug.client_port = 9003
xdebug.log=/media/leandro/Elements/Progetti/s4fgel/xdebug.log
Run Code Online (Sandbox Code Playgroud)

我还尝试修改公共文件夹中的index.php 添加 …

xdebug symfony phpstorm

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

Docker - Xdebug 调试 PHP CLI 脚本(VS Code)

这个问题是关于让 Xdebug 使用托管在 Web 服务器 Docker 实例中的 CLI PHP 脚本

我有docker 容器:web-server、、varnish-cachenginx-proxy我能够使用以下 VS Code 启动配置通过浏览器成功调试 Magento 2 网页:

这是新的 XDebug v3,它删除了很多 v2 配置设置

客户端(Windows 10)IP(我的笔记本电脑):192.168.1.150,主机(Ubuntu 20.04)IP:192.168.1.105,使用 Docker 容器托管 IP:172.100.0.2-5

VS 代码启动:

 "name": "(Magento 2) Listen for XDebug on 192.168.1.5/105",
            "type": "php",
            "request": "launch",
            "port": 9099,
            "stopOnEntry": false, // Set to true to test any script on entry
            "log": false,
            // Remember to update remote_connect_back or remote_host
            // inside xdebug PHP …
Run Code Online (Sandbox Code Playgroud)

debugging xdebug docker magento2 visual-studio-code

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

Mac 上 Docker 内的 Xdebug 无法工作

我将本地开发设置从 Linux 移植到新的 Mac 机器,但在让 Xdebug 在 Mac M1 Pro 机器中与 PhpStorm 配合使用时遇到问题。

我有一个包含 PHP 的容器,其中 Xdebug 安装并配置如下:

zend_extension=/usr/lib/php8/modules/xdebug.so
xdebug.mode=debug

xdebug.idekey=PHPSTORM
xdebug.client_port=9001
xdebug.start_with_request=yes
xdebug.discover_client_host=1
xdebug.log=/var/log/xdebug.log
Run Code Online (Sandbox Code Playgroud)

在 PhpStorm 中,我正在监听端口 9001(我将 9000 用于其他服务)。

以下是 docker 容器内的 Xdebug 日志:/var/log/xdebug.log

/var/www/html/app # tail -f /var/log/xdebug.log 
[49] [Step Debug] INFO: Checking header 'HTTP_X_FORWARDED_FOR'.
[49] [Step Debug] INFO: Checking header 'REMOTE_ADDR'.
[49] [Step Debug] INFO: Client host discovered through HTTP header, connecting to 172.18.0.4:9001.
[49] [Step Debug] WARN: Creating socket for '172.18.0.4:9001', poll success, but …
Run Code Online (Sandbox Code Playgroud)

macos xdebug phpstorm docker

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

xdebug没有加载.apache重启后,在phpinfo()中找不到

我一直在搜寻我能找到的每一种资源,但是空洞的.当我启动调试会话时,我在NetBeans 6.9中收到了可怕的"等待连接"消息.经过多次阅读,大多数人都能够获得phpinfo()来显示它加载了xdebug模块.跟我不一样.

我使用此调用通过SVN下载了源代码

svn co svn://svn.xdebug.org/svn/xdebug/xdebug/trunk xdebug
Run Code Online (Sandbox Code Playgroud)

我切换到xdebug目录,然后在源代码上运行phpize

sudo /Applications/MAMP/bin/php5/bin/phpize
Password:
grep: /Applications/MAMP/bin/php5/include/php/main/php.h: No such file or directory
grep: /Applications/MAMP/bin/php5/include/php/Zend/zend_modules.h: No such file or directory
grep: /Applications/MAMP/bin/php5/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)

没什么大不了的!引用的目录甚至不存在.所以,我假设我超越这一点的任何.ini调整是没用的.如果我在哪里做php,我会在/ usr/bin中找到它.这是预装OS的默认php.我不想那个.我需要使用安装了MAMP的php.我无法相信让这件事变得多么令人沮丧!

为了记录,我的php.ini中的xdebug部分如下所示:

[xdebug]
    ; xdebug config for Linux and Mac OS X
    zend_extension="/Applications/MAMP/bin/php5/lib/php/extensions/no-debug-non-zts-20060613/xdebug.so"
    xdebug.remote_enable=1
    xdebug.remote_handler=dbgp
    xdebug.remote_mode=req
    xdebug.remote_host=localhost
    xdebug.remote_port=9000
    xdebug.idekey="netbeans-xdebug"
    xdebug.profiler_enable=1
    xdebug.profiler_output_name=xdebug.cachegrind-out.%s.%p
    xdebug.remote_log="/Applications/MAMP/logs/xdebug_log.log"
Run Code Online (Sandbox Code Playgroud)

这是让xdebug工作的许多不同尝试的混合物.所以,我不知道哪些是有效的.

我把自己置于专家的怜悯之下,因为我显然不是其中之一.我完全不知道如何继续这一点.

提前致谢.

mamp xdebug apache-config

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

如何在Netbeans中调试symfony?我不能打电话给特定页面

我已经阅读了将诸如将PHP参数传递到NetBeans中的帖子,这些帖子包含了一个以symfony url-routing为特色的页面, 但我无法使其工作.

我想运行以下页面:

http://localhost/s/web/frontend_dev.php/travel
Run Code Online (Sandbox Code Playgroud)

所以我首先尝试使用Netbeans 6.9.1进行"本地网站配置".如链接线程中所述,这里存在一个问题,因为我可以指向项目URL和"web/frontend_dev.php"索引文件,但我无法将"/ travel"作为参数,因为Netbeans始终为它添加前缀用?用于我不想要的参数传递.

我提到的线程解决方案应该使用Script Config选项.好吧我可以指向php.exe,我可以在web/frontend_dev.php再次指向索引文件但是虽然我可以传递像/ travel那样的参数但它仍然无法工作,因为它在调用中创建了一个空格:

php.exe ./web/frontend_dev.php /travel
Run Code Online (Sandbox Code Playgroud)

这也不起作用.

debugging netbeans symfony1 xdebug

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