我有一个 Laravel 项目,并且我有 Xdebug 在 VSCode 中工作。
但不幸的是我分两步进行。我想把它合二为一。
我现在在做什么,我写道:
在命令中:
php -S localhost:1000 -t public
Run Code Online (Sandbox Code Playgroud)有一个 VSCode > debug > launch.json
{
"name": "Listen for XDebug",
"type": "php",
"request": "launch",
"port": 9000
},
Run Code Online (Sandbox Code Playgroud)我怎样才能将其合并为一项任务?
我尝试将 1. 部分创建为任务,但没有成功。
任务.json:
{
"taskName": "PhpServe",
"type": "shell",
"command": "php -S localhost:1000 -t public"
}
Run Code Online (Sandbox Code Playgroud)
启动.json
{
"name": "Listen for XDebug",
"type": "php",
"request": "launch",
"preLaunchTask": "phpServe",
"port": 9000
},
Run Code Online (Sandbox Code Playgroud)
PHP 服务器启动并运行,直到我关闭它。关闭它后,Xdebug 启动。不是我想要的。
如何同时启动 PHP 服务器和 xdebug?
在 Symfony 3.3 项目的开发过程中,我使用 Symfony 的内部服务器,如此处所示,但我不知道如何使用 xdebug 来调试它。我的意思是我已经通过以下方式安装并配置了 xdebug:
apt-get install php-xdebug
Run Code Online (Sandbox Code Playgroud)
我导出:
export XDEBUG_CONFIG="idekey=phpstorm"
Run Code Online (Sandbox Code Playgroud)
但是当我在 IDE 中设置断点并通过该插件启用 xdebug 时,我仍然没有得到任何响应。
我还进行了以下设置/etc/php/7.0/mods-available/xdebug.ini
apt-get install php-xdebug
Run Code Online (Sandbox Code Playgroud)
我已经将两个 PhpStorm 配置为通过端口 9021 进行侦听。但是我仍然遇到无法使 PhpStorm 通过断点进行侦听的问题。
你们知道如何在我的 ubuntu-16.04 机器上解决这个问题吗?
此外,我研究过这些问题但没有成功:
我还尝试导出以下内容:
export XDEBUG_CONFIG="idekey=PHPSTORM"
Run Code Online (Sandbox Code Playgroud)
配置Firefox 插件但仍然得到完全相同的行为。另请记住,我通过按
按钮。
我还在我的 PhpStorm 上添加了以下配置:
还是不行。
我使用的是 Ubuntu 18.04,Zend Framework 3,并将 Xdebugger 与 Visual Studio 集成。现在,当我在 Visual Studio 中启动调试器并在浏览器中的本地主机上重新加载 phpmyadmin 网页时localhost/phpmyadmin,它会显示此错误
尽管我没有设置任何断点,但每次它仍然停在上面屏幕截图所示的位置。
Xdebug.ini
xdebug.show_error_trace = 0
xdebug.show_exception_trace = 0
zend_extension=/usr/lib/php/20170718/xdebug.so
xdebug.remote_autostart = 1
xdebug.remote_enable = 1
xdebug.remote_handler = dbgp
xdebug.remote_host = 127.0.0.1
xdebug.remote_log = /tmp/xdebug_remote.log
xdebug.remote_mode = req
xdebug.remote_port = 9000
xdebug.idekey = PHPSTORM
xdebug.remote_connect_back=1
Run Code Online (Sandbox Code Playgroud)
任何帮助表示赞赏。
我在某些 PHP 代码上使用 XDebug 和 Visual Studio Code 调试器,并且变量部分没有显示我的对象之一的所有属性。下面的屏幕截图显示,如果我添加$this->_data到“监视”部分,该属性确实存在。但是,在“变量”部分中_data并未显示为属性。$this为什么 Visual Studio Code 不显示 中的所有属性$this,以及如何让它显示所有属性?
无法在 Big Sur 下的新 Apple Silicon M1 下安装 XDebug - 使用pecl install xdebug并运行后php --ini,出现以下错误:
PHP Warning: Failed loading Zend extension 'xdebug.so' (tried: /opt/homebrew/lib/php/pecl/20190902/xdebug.so (dlopen(/opt/homebrew/lib/php/pecl/20190902/xdebug.so, 9): no suitable image found. Did find:
/opt/homebrew/lib/php/pecl/20190902/xdebug.so: mach-o, but wrong architecture
/opt/homebrew/lib/php/pecl/20190902/xdebug.so: stat() failed with errno=22), /opt/homebrew/lib/php/pecl/20190902/xdebug.so.so (dlopen(/opt/homebrew/lib/php/pecl/20190902/xdebug.so.so, 9): image not found)) in Unknown on line 0
Warning: Failed loading Zend extension 'xdebug.so' (tried: /opt/homebrew/lib/php/pecl/20190902/xdebug.so (dlopen(/opt/homebrew/lib/php/pecl/20190902/xdebug.so, 9): no suitable image found. Did find:
/opt/homebrew/lib/php/pecl/20190902/xdebug.so: mach-o, but wrong architecture
/opt/homebrew/lib/php/pecl/20190902/xdebug.so: stat() failed …Run Code Online (Sandbox Code Playgroud) 我正在尝试从 pecl 在 Docker 容器中安装 Xdebug 或 Redis 包。安装失败并返回错误:
包“pecl.php.net/xdebug”没有可用的版本。
Xdebug 示例:https://pecl.php.net/package/xdebug/3.1.0
我的 docker-compose.yaml
version: '3'
networks:
app-network:
services:
site:
build:
context: .
dockerfile: nginx.dockerfile
container_name: my_nginx
ports:
- "8082:80"
- "443:443"
volumes:
- ./src:/var/www/html
depends_on:
- php
- db
- redis
networks:
- app-network
db:
image: percona
container_name: my_db
restart: on-failure
tty: true
ports:
- "3314:3306"
volumes:
- ./percona:/var/lib/percona
environment:
MYSQL_DATABASE: mydb
MYSQL_USER: me
MYSQL_PASSWORD: 123
MYSQL_ROOT_PASSWORD: 456
SERVICE_TAGS: dev
SERVICE_NAME: db
networks:
- app-network
php:
build:
context: …Run Code Online (Sandbox Code Playgroud) 希望以下内容足以让您继续下去。
我的设置
我在用着:
PHP.ini
[Xdebug]
zend_extension = xdebug
;zend_extension = "c:\xampp\php\ext\php_xdebug-3.1.1-7.4-vc15-x86_64.dll"
xdebug.remote_enable=1
xdebug.remote_autostart=1
xdebug.mode = debug
xdebug.start_with_request = yes
xdebug.client_port = 9000
xdebug.log = "c:\xampp\htdocs\j4\tmp\xdebug.log"
Run Code Online (Sandbox Code Playgroud)
问题
我已经使用 VSCode/XAMPP/Xdebug 与 Joomla 3 一起工作了一年多,没有出现任何问题。我离开了几周,当我回来时,我无法单步进入任何 Joomla 3 模块/类。VSCode 会在断点处停止,但单步执行和单步执行都会立即转到父调用函数。
啊,我对自己说,可能 Windows 做了一些事情 - 可能是升级到 J4 以及更新我的环境的好时机。同样的问题。在第一个断点处停止,不会单步执行或单步执行 - 它不会在后续断点处停止。似乎是核心 J4 模块中的单步。堆栈显示正常 - 可以检查初始化的变量。
我尝试过的
一切!为了保持相关性 - 我现在安装了一个全新的、开箱即用的、纯正的 XAMPP、Joomla4 和 Xdebug(按照 Xdebug 向导的建议)。我还暂时禁用了我的 AV …
当连接来自 docker 容器时,PhpStorm xdebug 找不到文件
以此一试。当将 PHP_IDE_CONFIG 添加到我的 docker 时,xdebug 甚至没有停止。在添加该 env 变量之前,xdebug 至少会停止,但我无法单步执行,它只是显示一个错误:
本地找不到文件
'/var/www/pmp-api/bin/console'。要修复它,请通过环境变量设置服务器名称PHP_IDE_CONFIG并重新启动调试会话。
#- PHP_IDE_CONFIG="serverName=pmpapi.local"
- XDEBUG_CONFIG=idekey=PHPSTORM
Run Code Online (Sandbox Code Playgroud)
后来我评论PHP_IDE_CONFIG补充了XDEBUG_CONFIG。PHPSTORM 在 PhpStorm 中设置为 idekey。
也在 Nginx config server_name _ 中尝试过;
另外:xdebug.extended_info = 1
为什么这仍然无法正常工作?
更新
当没有 PHP_IDE_CONFIG 变量时:
[17] Log opened at 2021-11-16 18:51:45
[17] I: Checking remote connect back address.
[17] I: Checking header 'HTTP_X_FORWARDED_FOR'.
[17] I: Checking header 'REMOTE_ADDR'.
[17] W: Remote address not found, connecting to configured address/port: …Run Code Online (Sandbox Code Playgroud) 我正在NetBeans中开发一个CakePHP应用程序,最终设法将它连接到XAMPP调试会话(PHP 5.3.1 w/Xdebug v2.0.6-dev).
它在启动时非常有效,它会在第一行暂停应用程序.
但是我设置的任何进一步断点都被完全忽略了.它不会破裂也不会停顿; 它只是运行完成.
xdebug.extended_info设置为1,我尝试使用赤脚php项目,没有任何框架魔法,并且breakepoints按预期工作.
什么情况?我希望能够在(Cake)PHP中使用断点.
我想仅在变量中的值更改为特定值时才暂停执行.我正在使用PHPStorm和Xdebug.谁能告诉我怎么做?
xdebug ×10
php ×8
docker ×2
phpstorm ×2
cakephp ×1
joomla ×1
launch ×1
pecl ×1
phpmyadmin ×1
symfony ×1
symfony-3.3 ×1
ubuntu-16.04 ×1
xdebug-3 ×1