Конфигурации xDebug для php7.0-fpm, nginx с использованием IDE VSCode не останавливается на точках останова - PullRequest
1 голос
/ 12 июня 2019

Я получаю эту ошибку, когда начинаю отладку с помощью xdebug, когда она не останавливается ни на одной из моих точек останова, она останавливается в предупреждениях о том, что я не ставил точки останова, и когда я нажимаю на local переменные, она начинает загружаться и загружать вечно, пока мне не придется перезапускать vscode.

работает

Ubuntu linux 18.4
nginx

php -v
PHP 7.0.33-8+ubuntu18.04.1+deb.sury.org+1 (cli) (built: May 31 2019 11:34:35) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
    with Zend OPcache v7.0.33-8+ubuntu18.04.1+deb.sury.org+1, Copyright (c) 1999-2017, by Zend Technologies
    with Xdebug v2.7.1, Copyright (c) 2002-2019, by Derick Rethans

xdebug не работает должным образом в моем vscode, он разбивает файлы, на которые я не ставил точки останова, и когда я наведу курсор на переменные, ничего не отображается.

Я получаю эту ошибку, когда начинаю отладку с помощью xdebug, когда она не останавливается ни на одной из моих точек останова, она останавливается в предупреждениях о том, что я не ставил точки останова, и когда я нажимаю local переменные, она начинает загружаться и загружать вечно, пока мне не придется перезапускать vscode.

работает

Ubuntu linux 18.4
nginx

php -v
PHP 7.0.33-8+ubuntu18.04.1+deb.sury.org+1 (cli) (built: May 31 2019 11:34:35) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
    with Zend OPcache v7.0.33-8+ubuntu18.04.1+deb.sury.org+1, Copyright (c) 1999-2017, by Zend Technologies
    with Xdebug v2.7.1, Copyright (c) 2002-2019, by Derick Rethans

Я попытался настроить свой php.ini, изменив параметры удаленного доступа, а также в xdebug.ini, но проблема все еще остается, также в файле json vscode я изменил порт с 9000 на другой порт, но все еще не дал результатов.

мой php.ini

[Xdebug]
zend_extension="xdebug.so"
xdebug.remote_autorestart=1
xdebug.remote_autostart=1
xdebug.remote_enable=1
xdebug.remote_port=9000
xdebug.profiler_enable=1
xdebug.remote_connect_back=1
xdebug.remote_log=/var/log/xdebug.log

и мой xdebug.ini

zend_extension="xdebug.so"

xdebug.log

[21636] Log opened at 2019-06-12 09:39:00
[21636] I: Checking remote connect back address.
[21636] I: Checking header 'HTTP_X_FORWARDED_FOR'.
[21636] I: Checking header 'REMOTE_ADDR'.
[21636] W: Remote address not found, connecting to configured address/port: localhost:9000. :-|
[21636] W: Creating socket for 'localhost:9000', poll success, but error: Operation now in progress (29).
[21636] E: Could not connect to client. :-(
[21636] Log closed at 2019-06-12 09:39:00

и файл lunch.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": [

        {
            "type": "chrome",
            "request": "launch",
            "name": "Launch Chrome",
            "webRoot": "${workspaceFolder}\\web"
        },
        {
            "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
        }
    ]

Это то, что мы делаем с переменными

Я ожидаю, что xdebug остановится на точках останова и покажет локальные переменные, чтобы я мог знать, куда идти, когда отлаживаю большие фреймворки, такие как Laravel и magento.

Спасибо.

1 Ответ

0 голосов
/ 20 июня 2019

Попробуйте заменить настройку Xdebug на приведенные ниже в php.ini

zend_extension="xdebug.so"
xdebug.remote_autorestart=1
xdebug.remote_autostart=1```
...