Не работает xdebug phpstorm ubuntu
Итак, я новичок в ubuntu, и я установил LAMP и заставил его правильно работать с phpsotrm. Единственная проблема, которая у меня есть, заключается в том, что когда у меня есть ошибки в моем коде, он не показывает мне никаких ошибок, просто пустую страницу.
Теперь с phpstorm я попытался соединиться с xDebug, а когда проверил phpinfo(), то нашел:
Вот это соединение phpstorm:
Я изменил правильный файл php.ini и добавил следующую строку в конце файла:
Тем не менее заметка отображается, даже не в консоли или в источнике страницы. Есть ли какое-либо исправление для этой проблемы? Я попытался поискать в интернете, но ничего не нашел.
2 ответа
Моя проблема в том, что xdebug не работает, когда я начинаю прослушивать порт. Я думаю, что PhpStorm не может связаться с xdebug. Я просто получаю переменные панели отладчика, которые недоступны. Похоже, что xdebug не имеет правильных настроек. Используемое программное обеспечение и версии: Ubuntu.
Просто следуйте этим инструкциям:
Похоже, что вы отключили отображение каких-либо ошибок.
Я такой манекен, что на самом деле он работает, просто определенные ошибки, которые я пытался смоделировать, на самом деле не повлияли на xDebug. Мне очень жаль, что я отнял у вас время.
Похожие вопросы:
У меня возникли проблемы с получением PhpStorm и внутреннего Xdebug в HHVM, который хорошо играет на коробке vagrant, ниже мой php.ini. xdebug.enable=1 xdebug.remote_enable=1 xdebug.idekey=PHPSTORM.
Факты о моей системе Ubuntu 15.10 Php 5.6.11 Symfony 2.7 PhpStorm 10 xDebug 2.4 Мне очень трудно заставить xdebug работать в рамках моего проекта Symfony в PhpStorm. Я установил xdebug настроил файл.
У меня есть эта проблема, и я не могу ее решить. Когда я нажимаю на debugg (xdebug) в PhpStorm (8.0.1), отладчик не показывает код. Только то, что происходит, это то, что мой веб-браузер открывает.
Моя проблема в том, что xdebug не работает, когда я начинаю прослушивать порт. Я думаю, что PhpStorm не может связаться с xdebug. Я просто получаю переменные панели отладчика, которые недоступны.
Я использую DDEV для разработки drupal8. У меня есть один и тот же проект на win10pro и на ubuntu18.04. На win10 я могу отлаживать в Phpstorm, на ubuntu это не удается. Я уже потратил несколько.
У меня есть чистая установка Ubuntu 19.10, работающая в Virtualbox на Windows 7. У меня есть последняя версия PhpStorm: 2019.3 (работает на Windows). У меня есть PHP 7.3.11, с отключенным кодом.
У меня есть сервер Ubuntu под управлением Apache и PHP7, с установленным и подтвержденным Xdebug в phpinfo(): xdebug xdebug support enabled Version 2.6.0 IDE Key PHPSTORM Мой PhpStorm работает на.
Я уже давно использую Xdebug/PhpStorm и никогда не видел этой проблемы: PhpStorm 2019.1.3 Docker 18.09.2 изображение mattrayner/lamp:latest-1804 Ubuntu 16.04.6 PHP.
Я использовал Ubuntu 17.10, и все работало. Однако после обновления до версии Ubuntu 18.04 вместе с чистой установкой Я больше не могу заставить свой Xdebug работать должным образом. Я пытался.
Я вернулся, чтобы сделать некоторую работу в PHPStorm после того, как не использовал его через пару недель, и по какой-то причине отладка больше не работает. Раньше это работало, но теперь это не так, и я понятия не имею, что происходит.
Я работаю в Windows, используя IIS, PHP версии 5.3.8. XDebug установлен, и я установил конфигурацию в PHP.ini согласно обычным инструкциям.
когда я запускаю phpinfo () все выглядит нормально (т. е. XDebug есть).
я перепроверил различные настройки, загрузил немного более новую версию XDebug, чем я использовал (Xdebug v2.2.1), но ничто, кажется, не пинает его в жизнь.
может кто-нибудь, пожалуйста, дайте мне некоторые подсказки о том, что я могу посмотреть дальше?
обновление:
Я провел еще несколько часов, бьясь головой об это, и, похоже, не продвинулся дальше. XDebug установлен и загружено, согласно phpinfo (). Я включил ведение журнала, но на самом деле это не говорит мне много, за исключением того, что XDebug действительно подключается.
таким образом, кажется, что проблема находится на стороне PHPStorm, но я не вижу, где. Я попытался создать очень простой проект,но не смог его отладить.
разве вы не ненавидите, когда часами боретесь с чем-то, а потом в отчаянии пытаетесь сделать что-то простое, и это работает?
Я решил попробовать другой порт, 9001 вместо 9000 по умолчанию, и это сработало!
теперь я понимаю, что недавно я установил Twonky (для потокового видео на мой телевизор), и когда я проверил настройки, там было. порт 9000.
имел ту же проблему сегодня днем - нашел этот вопрос вместе с несколькими другими вопросами SO, поэтому я подумал, что опубликую решение, которое исправило его для меня.
Мне не хватало сопоставления с файловой системой. Что странно, потому что я видел, как PHPStorm подсказал мне, когда они отсутствовали ранее.
надеюсь, это поможет кому-то в будущем :)
была такая же проблема после обновления до El Capitan. Первый намек на то, что я использовал, - Run - > проверка отладки веб-сервера. Этот инструмент от PHPStorm дал мне подсказку о xdebug.remote_host Я использую V-хосты, и он жаловался localhost не является правильным значением. Поэтому я обновил настройку xdebug с помощью xdebug.remote_connect_back=On и это сработало!
более новые версии PHPStorm имеют проверку отладчика. Официальный блог PHPStorm есть рецензия на этой функции, которая может помочь вам понять это.
одна проблема для меня, когда я настраиваю коробку с настроенным php-fpm, заключается в том, что php-fpm также работает на порту 9000 по умолчанию, поэтому мне пришлось изменить настроенный порт в php.предпочтения ini и PHPStorm к чему-то вроде 9001.
для чего это стоит, мой текущий php.настройка ini для xdebug:
У меня была такая же проблема! Я, наконец, понял, что все мои конфигурации были правильными, но на стороне браузера я не включил отладку с браузером Chrome. Каждый браузер имеет свой собственный способ включения отладки, чтобы начать работать.
У меня была такая же проблема, и я решил ее, удалив все часы, а затем перезагрузите phpStorm
У меня была та же проблема, и я попробовал все решения, которые я мог найти в SO и на других сайтах (проверил, что phpStorm и Xdebug находятся на тех же портах, проверил, что у меня было сопоставление серверов в файловой системе, переустановил Xdebug и т. д.) но в конце концов проблема была в том, что мы запускаем сайт на внутреннем сервере, и кто-то из него изменил IP-адрес моего компьютера на адрес, который отфильтрован из разрешенных адресов, которые могут быть подключены к этому серверу. Вот почему phpStorm начал игнорировать точки останова от Xdebug.
надеюсь, это поможет кому-то в будущем и спасти его много часов.
Я решил сам по себе также, потому что PHP-Storm и PHP-FPM прослушивают один и тот же порт. просто убейте весь порт php-fpm.
В этой статье речь пойдет об установке Xdebug на серверную ubuntu и последующей настройке дебагера в PHPStorm.
Для начала небольшое определение, что это за библиотека и для чего она нужна (для тех, кто не знает).
Xdebug — свободная библиотека для разработчиков PHP. Основной целью расширения является максимально возможное упрощение отладки PHP-скриптов и добавление в разработку на PHP таких удобств, как точки останова, пошаговое выполнение и наблюдение за выражениями.
О полезности данного инструмента не идет и речи, он должен быть в инструментарии каждого разработчика.
Содержание
Установка Xdebug на виртуальный сервер
Устанавливать Xdebug будем на нашу серверную ubuntu, которые мы установили из прошлых статей на VirtualBox.
Итак для начала логинимся на сервер по ssh, запускаем PuTTY, вводим команду установки.
После установки открываем файл с настройками Xdebug на редактирование /etc/php5/conf.d/xdebug.ini
и добавляем следующие строки
Вкратце пробежимся по каждому параметру:
- xdebug.remote_enable - параметр, позволяющий устанавливать Xdebug контакт с дебаг клиентом, который прослушивает порт и хост, установленные параметрами xdebug.remote_host и xdebug.remote_port.
- xdebug.remote_host - ip адрес хоста, с которого будет запущен дебагер, проще говоря, это - ip адрес вашей машины, на которой у вас установлен phpstorm.
На этом наши настройки на сервере закончены, теперь отправляемся в PHPStorm.
Настройка Xdebug в PHPStorm
Не работает Xdebug, что делать?
Что делать, если вдруг вы обнаружили, что когда-то удачно настроенный Xdebug перестал останавливать скрипт на брейкпоинтах. После долгих и упорных поисков ничего не обнаружено, validation script прекрасно отрабатывает и показывает следующую картинку
Remote host: 192.168.0.104 - это ip адрес, по которому Xdebug связывается с вашей локальной машиной. Обратите внимание(!), что PHPStorm показывает те настройки, которые выставлены параметром xdebug.remote_host. В данной ситуации выполним следующее:
-
идем в конфиг Xdebug (/etc/php5/conf.d/xdebug.ini)
и дописываем параметр
Данный параметр будет игнорировать xdebug.remote_host и искать ip адрес машины, запустившей дебаг процесс, в переменной $_SERVER['REMOTE_ADDR'].
Если скрипт остановился на нужном брейкпоинте - значит, проблема в неверно указанном параметре xdebug.remote_host и самое время проверить ip локальной машины.
Сделать это можно несколькими способами. Самый распространенный - запустить командную строку cmd и набрать ipconfig. Или же, раз уже запущен дебагер, посмотреть содержимое переменной $_SERVER['REMOTE_ADDR'].
Итак, выяснили, что ip адреса отличаются. Корректируем параметр xdebug.remote_host и комментим строку с xdebug.remote_connect_back=1 (либо выставляете значение 0). Если же у вас ip адрес формируется динамически (как в моем случае), то можно вообще оставить параметр xdebug.remote_connect_back=1, при условии, что кроме вас никто не имеет доступ к этому серверу. В противном случае, любой сможет начать дебаг сессию, даже если его ip не совпадает с параметром xdebug.remote_host.
Также распространенной проблемой отказа работы Xdebug являются антивирусы (либо фаерволы). Временно отключите антивирус и проверьте, не блокирует ли он запросы от удаленного сервера (такая ситуация была с avast).
Ниже приведен пример настройки отладчика XDebug скриптов php для PhpStorm. Почему я выбрал именно PhpStorm - потому, что она самая удобная на мой взгляд.
Установка и настройка XDebug
Итак, начнем. Для начала, нам потребуется установить отладчик и сам php:
Я использую php 5.5, если его нет у вас в репозитории, то можно добавить репозиторий с php 5.5 или оставить свою версию:
sudo add-apt-repository ppa:ondrej/php5
sudo apt-get install php5-xdebug
Ищем, куда установилась библиотека:
find / -name 'xdebug.so' 2> /dev/null
Ждем. ждем. и получаем что-то вроде /usr/lib/php5/20100525/xdebug.so
Далее нужно добавить следующие строки в файл /etc/php5/apache2/php.ini , заменив путь к библиотеке xdebug на свой. Открываем файл и добавляем в него строки:
sudo service apache2 restart или /etc/init.d/apache2 restart
Настройка самой PhpStorm
Запускаем PhpStorm, далее открываем папку с проектом или создаем новый. Затем идем в File->Settings (Alt+Ctrl+S) и переходим на вкладку PHP->Servers, добавляем новый сервер: Name: "localhost", Host: "localhost", Debugger: "Xdebug". На всякий случай проверим порт отладчика на вкладке PHP->Debug, он должен совпадать с тем, что мы задали в php.ini: Debug port: 9000. Сохраняемся нажатием "Ок" и закрываем окно настроек.
Следующий шаг - это настройка проекта. Идем в меню Run->Edit Configurations.. и добавляем новую настройку нажатием на плюсик, выбираем PHP Web Application. Name: "Пишем название нашего проекта", Server: выбираем ранее созданный "localhost", Start URL: "/имя проекта" и нажимаем "OK"
Ну вот и все, теперь мы можем отлаживать свой проект, устанавливая брейкпоинты в исходниках. :)
Идем в Tools->Deployment-Configuration, жмем плюсик и добавляем сервер: Name: "Имя сервера", Type: "FTP". На вкладке Connection заполняем нужные поля: FTP host: здесь все понятно, Root path: "путь к файлам проекта на удаленном сервере". Переходим на вкладку Mappings. Local path: "/путь к локальным файлам проекта". На последней вкладке "Excluded Paths" можно указать файлы и папки, которые будут исключены из синхронизации проекта. Жмем "OK", закрываем окошко и снова переходим в меню Tools->Deployment->Browse Remote Host для отображения и синхронизации файлов проекта с удаленным сервером.
Читайте также: