Error php home is not specified or invalid press fix to edit your project configuration

Комментарии к публикации: Отладка PHP 7 с помощью Xdebug в PHPStorm

К этому посту больше нельзя оставлять новые комментарии

У меня в проге после настройки пишет Waiting for incoming connection with ide key ‘PHPSTORM’.
Как можно исправить?
UPD. Нашел в интернете решение.

Это разве нужно исправлять? Всё же вроде правильно.

О, а помогите мне тоже найти. Сам не справился.

Здравствуйте
У меня XAMPP и NetBeans. Как настроить Xdebug?

А почему не PHPStorm и OpenServer, как я советовал?
Если принимаете решение использовать другие инструменты, значит вы должны понимать, ради чего это делаете. И беретесь самостоятельно разбираться как это делать по-другому. Мне лень, да и незачем копаться в том, с чем я не работаю. Это бы заняло очень много времени и не принесло пользы. Так что, придется вам погуглить самому =)

В каталоге установки XAMPP ищешь файл phpphp.ini и правишь его в соответствии с уроком. Перезапусаешь apache.В NetBeans не знаю, но думаю тоже не сложно, пользую Шторм.

У меня уже была установлена эта сборка. Буду гуглить дальше.

По теме урока всё установилось и работает нормально. За исключением F8 и F9.
F9 вызывает меню Пуск,
F8 вызывает меню для подключения к проектору.
F7 работает адекватно.
Управлять можно без клавиш, иконками в PHPStotm.
Пока не разобрался как устранить проблему. В Windous 7 + SP1 (в моём случае) эти клавиши выдают аналогичный описанному результат.

Значит у вас в BIOS выставлена настройка горячих клавиш. У вас есть на клавиатуре кнопка Fn? Как правило она слева внизу.

С помощью отладчика наконец разобрался с рекурсивной функцией(РФ).
1.При самовызове РФ N раз, создаётся стек с N уровнями.
2.Возвращение РФ (в место первого вызова)происходит за N шагов по стеку в обратном порядке.
3.»Сколько шагов вперёд, столько шагов назад»
Для иллюстрации:

<?php
function natural(int $n)
{

    if ($n == 0) {
        echo '<br>';
        return;
    }
    $n--;
    echo '<br> создание уровня стека  ' . $n;
    natural($n);
    echo '<br>' . 'возврат из уровня стека  ', $n, '  на предыдущий';
}

$n = 3;
natural($n);

На экране:
создание уровня стека 2
создание уровня стека 1
создание уровня стека 0

возврат из уровня стека 0 на предыдущий
возврат из уровня стека 1 на предыдущий
возврат из уровня стека 2 на предыдущий

Рекурсивная функция мне напомнила сюжет фильма «Начало». Все как там…

:D не смотрел, кстати. Надо будет глянуть на выходных.

Установил chrome и расширение, но жучка на консоли браузера не вижу!

А, вижу, но он в яндексовском браузере…

Кек, то есть установили в хромовском сторе, а появился он в Яндекс.Браузере?

Да, и модификация PHPstorm уже другая…

Что такое модификация? Версия?

Да

В плане отладки там всё то же самое. Разве нет? Я вот только вчера себе поставил, и никаких изменений не заметил.

Согласен вполне

Ок. Кстати, на комментарии лучше отвечать, нажимая на «Ответить» под конкретным комментом.

Какая у Вас версия Сторма?

Сделал все как в видео уроке но после того как обновляю страничку в браузере с включенным дебагером ничего в пхп шторме не происходит, дебагер ничего не пишет

Напиши в ВК, что-то всё равно не так :)

Здравствуйте. Сделал все по инструкции, но XDebug не работает.
Во вкладке «Frames» пишет: «Frames are not aviable»,
В «Variables»: «Waiting for incoming connection with ide key ‘PHPSTORM'».
Ничего дальше не происходит. Не могу решить. Помогите пожалуйста. Заранее спасибо.

З.Ы. Вместо Open Server использую WampServer, но я так понял, что отличаются они друг от друга мало.

Отличаются, скорее всего там вообще нет XDebug. Прошу меня понять и простить, но у меня нет времени разбираться со всеми серверами на свете, если хотите чтобы работало — сделайте как в уроке, пожалуйста :)

Разобрался. Огромное спасибо за ваши курсы. Все максимально доходчиво объяснено :)

А почему после первого выполнения 7 строки кода, сразу не выполняется 8?

Потому что снова начинает выполняться функция numbers(), а на первой её строке стоит breakpoint, и отладчик на нём останавливается.

по ходу я совсем тупая ) все настроила, все работает, но происходящий процесс ничего не прояснил. я вижу, что переменная меняется, становясь меньше на 1. но сложить это хоть в какой-то понятный пошаговый процесс в своей голове я не могу. т.е. я не могу представить как работает код, что там происходит на его задворках. и возникает вопрос, стоит ли мне продолжать или я безнадежна?

Паниковать не стоит, рекурсия не всем даётся с первого раза. Можете пока вообще её пропустить — это не помешает дальнейшему прохождению курса. Но я бы советовал Вам с ней всё же разобраться — погуглите другие уроки на тему рекурсии, возможно найдёте какое-нибудь более наглядное пособие. Но, опять же, повторюсь — не обязательно. Не поймёте — чёрт с ней, проходите дальше ;)

У меня в консоли пишет следующее:
Waiting for incoming connection with ide key ‘PHPSTORM’
Сделал так же как и написано.

Это хорошо, значит отладчик ждёт входящего соединения. Посмотрите видео ещё (в начале урока) — там вообще всё как есть показано.

Спасибо, всё работает)
Спасибо за уроки)

Отлично! Всегда рад помочь =)

Есть проблема по запуску XDebug. Настроил все верно (перепроверял). но при перезагрузке странице в браузере она не подвисает в загрузке, а просто выдает конечный результат как и до установки брейкпойнта. в PHPStorm вижу следующее:
описание картинки

Все норм, он ждет соединения. Настраивайте плагин в хроме и перезагружайте страницу. Все как на видео сделайте.

Да, уже заработало, спасибо

У меня linux ubuntu и сервер xampp(lampp) и PhpStorm.
Может у кого такая-же конфигурация будет полезна
инструкция по установке xdebug на PhpStorm + ubuntu + lampp.

Инструкция:

1. Перейти:
 https://xdebug.org/wizard.php
2. В свой index.php на локальном домене вставить:
 phpinfo(); 
 (Не чего кроме phpinfo(); в файле не должно быть прописано!)
3. ctrl+u копируем код страницы.
 И вставляем в окошко на странице https://xdebug.org/wizard.php 
 и нажимаем кнопку снизу.
4. Инструкция которую выдала страница: https://xdebug.org/wizard.php
 (просто вставка кода который подсвечен, он может быть уникален у вас в некоторых местах)
5. Кроме последней строчки в инструкции
 (примерно такого вида zend_extension = /opt/lampp/lib/php/extensions/no-debug-non-zts-20170718/xdebug.so) 
 нужно еще добавить за ней же:
 xdebug.remote_enable = 1
 xdebug.remote_port = 9000
 xdebug.remote_handler = "dbgp"
 xdebug.remote_connect_back = 1
 xdebug.idekey = "PHPSTORM"
6. Как настроить PhpStrom и Chrome здесь: https://php.zone/php-training-course/11
7. Перезапустить lampp.

Спасибо огромное какой материал качественный!
Кажется теперь я ее понял:
Сначала идет проработка вызова функции в самой себе.
А только потом проработка всех выводов echo $arg, все равно какая-то пелена, что за правила отработки echo и функции внутри функции? Почему echo потом отрабатывает в обратном порядке ведь числа поступали в порядке 3 2 1 0, а он их после отработки выводит 0 1 2 3, интересно.

function numberBy0ToArg_v2($arg)
{
    if ($arg >= 0) {
        $arg - numberBy0ToArg_v2($arg - 1) . '<br />'; 
        echo $arg; 
    }
}
numberBy0ToArg_v2(3);

Ответил в комментах к прошлому уроку

Пасиб автору!
Классный и ёмкий урок для новичков.

Когда проходил данный урок упёрся, как и некоторые комментаторы, в ошибку(или не ошибку) «Waiting for incoming connection with ide key ‘PHPSTORM’.», махнул рукой и пошёл дальше.
Уже сижу делаю «большую Домашку» в конце уровня «Пишем Блог» и начал плавать в объёме кода, ну, думаю, тут то Дебагер мне поможет, вернулся, проломал голову, но не тут то было. Неумолимое ВэйтинФо. Исходя из комментов пришёл к выводу, что это проблема на стороне браузера, опробовал кроме Хрома Фаерфокс, установив в него аналогичное расширение же. А воз и ныне там(

С чего вы взяли, что это ошибка? Вам IDE пишет о том, что всё ок и она ждёт входящего соединения. Просто идите дальше по уроку.

Ну это понятно, но не понятно почему соединения не происходит. Все пункты урока выполнены: PHPStorm, как мы видим, настроен, Дебаг для браузера установлен, Айдикей настроен, сэйв нажато, дэбаг в панели запущен, брэйкпоинты выставлены, страница обновлена всеми возможными способами, но просто грузится до конца, отклика в IDE никакого. Понятно, что с вероятностью 99% я где то что то упустил, не понятно — что именно)

А xdebug на сервере точно работает? Выведите phpinfo(). Если всё ок, то там будет информация об xdebug.

MacOS не поддерживает openServer, поэтому не получается по интсрукции прописать xDebag, я работаю в XAMPP, поэтому немного по другому все

Ну, там надо руками расширение XDebug поставить.

в правом нижнем углу у меня нет вкладки «Watches», как ее включить?

Опенсервер на php 7.2 debug отказывается работать Перехожу на 7,0 и все норм.

На 7.1 попробуй

На 7,1 то же самое. Проверил в этих версиях в php нет php_xdebug.dll скачал на оф. сайте нужные версии , поставил и все нормально заработало.

Всем привет!
Столкнулся с проблемой The script ‘W:domainslocalhostphpzone — debug.php’ is outside the project. Кто-нибудь знает как ее решить? Читал в интернете, говорят, что надо сделать путь не на файл, а на папку с файлом, но у меня ничего не получилось(
И так всё работает, но хотелось бы избавиться от этой надписи

Открой проект с диска W. Написано, что этот файл вне проекта. Из-за того что он открыт по другому пути (с диска C или еще откуда-то).

Здравствуйте!
Сделал все как вы делали, но при нажатии на зеленую таракашку в PHPstorm’e пишет Error running ‘Xdebug’: Port 9000 is busy,с чем это связано?

Посмотрите, какая программа занимает 9000 порт в вашей системе. Погуглите как

Этот порт зарезервирован у меня в openserver’e (настройки -> сервер ->php), может быть такое? могу ли я поменять там?


[Xdebug]
;zend_extension="%sprogdir%/modules/php/%phpdriver%/ext/php_xdebug.dll"
;xdebug.default_enable = 1
xdebug.auto_trace = 0
xdebug.collect_includes = 1
;xdebug.collect_params = 4
;xdebug.collect_return = 1
;xdebug.collect_assignments = 1
;xdebug.collect_vars = 1
xdebug.dump.REQUEST = *
xdebug.dump.SESSION = *
xdebug.dump.SERVER = REMOTE_ADDR,REQUEST_METHOD
;xdebug.dump.COOKIE =
;xdebug.dump.FILES =
;xdebug.dump.GET =
;xdebug.dump.POST =
xdebug.dump_globals = 1
xdebug.dump_once = 1
xdebug.dump_undefined = 1
xdebug.extended_info = 1
;xdebug.file_link_format = ""
;xdebug.idekey = ""
;xdebug.manual_url = "http://www.php.net"
xdebug.max_nesting_level = 256
xdebug.overload_var_dump = 1
;xdebug.profiler_append = 1
xdebug.profiler_enable = 0
xdebug.profiler_enable_trigger = 0
xdebug.profiler_output_dir="%sprogdir%/userdata/temp/xdebug/"
xdebug.profiler_output_name = "cachegrind.out.%H%R"
;xdebug.remote_autostart = 0
xdebug.remote_enable = 1
xdebug.remote_handler = "dbgp"
;xdebug.remote_host = "localhost"
;xdebug.remote_log = "none"
;xdebug.remote_mode = "req"
xdebug.remote_port = 9000
;xdebug.scream = 1
;xdebug.show_exception_trace = 0
;xdebug.show_local_vars = 1
;xdebug.show_mem_delta = 1
;xdebug.trace_format = 1
;xdebug.trace_options = 1
xdebug.trace_output_dir = "%sprogdir%/userdata/temp/xdebug/"
;xdebug.trace_output_name = "trace.%H%R"
xdebug.var_display_max_children = 256
;xdebug.var_display_max_data = 1024
xdebug.var_display_max_depth = 16
;xdebug.remote_cookie_expire_time = 3600

```у меня не так как у тебя в уроке тут нет нескольких строк которые нужно раскомментировать что мне делать??

Всё окей, установил и разобрался. Единственный вопрос — когда и как нужно расставлять брейкпоинты?

Всегда, когда хочешь увидеть текущее выполнение программы.

У меня почему-то не отображается окошко Watches. и что-то ни как не могу понять в чем проблема…

Его надо включить

где, я реально туплю и не могу найти галочку которую нужно поставить, что бы он включился

Найдите окошко Variables, там в левом нижнем углу значёк >>. Нажимаете на него, появляется символ очки, нажимаете и появляется окошко часы.

Почему данный код:

function numbers(int $x) {
    if ($x == 0) {
        echo $x;
        return;
    }
    numbers($x - 1);
    echo ', ' . $x;
}

numbers(3);

выводит значения с нуля, а не с конца ‘3’?

Строка ‘$x-1’ работает же на уменьшение от большего к меньшему?

Всем спасибо за участие, ответ был получен в чате.
Затем почитав еще несколько статеек про рекурсию и опробовав примеры понял эту фишку.

Рекурсия в PHP выполняя проход по циклу собирает результаты в стек, как стопка книг, заполняя его снизу вверх. А затем, когда граничное условие выполнено, начинает возвращать результат, но теперь уже берет значения с конца, т.е. с верхней части стопки книг (стека).
Получается, что заполнение идет 5, 4, 3, 2, 1, 0, а выборка идет в обратном порядке.

Ыыыыыых! Вот полезная штука! А то все в уме, да в уме… Спасибо

у меня не отображается Watches

нашел Watches находится во вкладке variables нужно только нажать на плюс

php 7.2, phpstorm 2019.2
во втором примере не входит по f7 в функцию getSum, приходится использовать Force Step Into (Alt + Shift + F7) странное поведение.

А если fn+F7?

На стационарном нет Fn

Если нет, то можно поискать в биосе эту настройку. Ну или просто в шторме зайти и переопределить хоткеи для этого действия, нажав на своей клавиатуре f7, и посмотреть какой хоткей в итоге подставится. Дебажить мышкой — не выход.

Сделал всё как описано в уроке, но возникла проблема. Не могу включить дебаг в PhpStorm, так как возникает вот такая ошибка: Error running ‘index.php’: Interpreter is not specified or invalid. Press »Fix» to edit your project configuration.
p.s. Спасибо за то, что вы делаете!

Напиши в личку ВКонтакте или телеге

Прошу помощи, никак не пойму. В общем брэйкпоинт срабатывает, в браузере загрузка подвисает, но PHPStorm никак не хочет показывать что там в переменных на текущий момент.

Напиши в личку ВКонтакте или телеге

В чем может быть проблема в Xdebug? У меня стоит SublimeText 3, вроде и страница долго грузит, и стрелочка появляется, но в окне отладки вообще пустота…

Я предупреждал, выбираете другие инструменты — разбираетесь сами.

Здрасьте! в чем проблема Waiting for incoming connection with ide key ‘PHPSTORM’? сделал как на видео. и еще openserver у меня новая версия.

Ну всё правильно. Пишет что ожидает входящее соединение. У меня в видео так же пишет.

Видео пересмотрел у вас там такого не вышел как «Waiting for incoming connection with ide key ‘PHPSTORM'».
Думаете что я в стороне гугла нечего не установил?! сделал как на видео.
Может мне стоит скачать программы по старой версии?

В данном моменте стоит openserver
Apache_2.4-php_7.0-7.1-x64
PHP_7.3-x64
Mysql-5.6

Напиши в личку в телеге или в вк

решили проблему? если да, то какое решение? у меня та же проблема!

Конечно решили) Пишите в чат в телеграме. Но вообще ошибка всегда в том, что какую-то деталь делают не как на видео.

Большое спасибо за урок. Очень классный инструмент, облегчает дорогу новичкам.

Получилось настроить?

Все получилось. В вашей работе часто используете данный инструмент?

Всё проделал! Понял более-менее рекурсию) Настроил и в хроме и в мозиле! Все работает!

<?php
function getValue ($x)
{
    var_dump($x);
    if ($x == 0) {
        echo $x;
        return ;
    }
    getValue($x - 1);
    echo  ',' .$x;

}
getValue(7);

По рекурсии переменная получает 7 и делает столько же шагов назад.
На экране:
int(7) int(6) int(5) int(4) int(3) int(2) int(1) int(0) 0,1,2,3,4,5,6,7
var_dump добавил для наглядности просто, чтобы понять лучше что происходит:) Спасибо Артем!

Отлично. Не забывай указывать типы аргументов у функций!

Привет! Что то я себе мозг сломал уже на два дня!))
Когда проходил эти настройки просто посмотрел что что то отображается и пошел дальше по урокам. Теперь когда пришла пора применять на практике, дебаг мне показывает только глобальные массивы. Переменных не хочет показывать категорически. Я и на других версиях PHP пробовал.
описание картинки

Судя по скриншоту, сейчас он выполняется на второй строчке index.php, и еще попросту не добрался до объявления переменных. Нажимай F8

Спасибо за ответ , но это я тупонул и не тот скрин прицепил. Вобщем проблему решил обновлением Phpstorm Сначала попробовал настроить дебаг в других редакторах, все получилось, потом обновил Phpstorm до версии 2019 года и все заработало.

Я всё делал правильно, но когда я нажимаю на значок жучка в хроме и перезагружаю страницу, ничего не происходит.
Вот такие вот у меня настройки в обоих php.ini

zend_extension = /usr/lib/php/20190902/xdebug.so
xdebug.remote_port=9000
xdebug.remote_autostart=on
xdebug.remote_enable=on
xdebug.remote_handler = "dbgp"
xdebug.remote_connect_back = 1
xdebug.idekey = "PHPSTORM"

У меня стоит ubuntu 18.04 и конечно-же нет openServera, стоит обычный lamp, в остальном настройки такие-же, как и у автора. Я так понимаю: для того, чтобы начать дебагинг файла ndex.php который я создал в папке index, я должен открыть в хроме http://localhost/index/, потом нажать на значёк жучка и обновить страницу. но после этого ничего не происходит
Кстати я не понимаю, почему у автора адрес проекта — это http://myproject.loc/, ведь у него по-идеи до папки myproject.loc должен быть адрес сервера(localhost или 127.0.0.1)
Я также пытался обновлять страницу http://localhost/, но в любом случае ничего не происходит

Ну а в phpinfo выводится инфа о том, что xdebug работает?

Классный урок! Теперь многое понятно! Плюс почитал комментарии чтобы понять как и почему значения выводятся в обратном порядке, теперь всё супер)) Пробовал все задачи из прошлого дз, отладчик работает без проблем.

 Настроила отладку, попрактиковалась, отдебажила.
 echo ', ' . $x;

Запятая взятая с в апострофы — добавляет запятую между каждым числом при выводе.
Это как правило? Такое сочетание добавляет запятые между каждым символом или как это сформулировать, чтобы понять?

Прочитайте про конкатенацию строк

Настроил отладку. Все работает. Пробую дебажить.

Здравствуйте. На данном этапе возникла проблема. У меня macOS, следовательно пользоваться OpenServer невозможно. Пользуюсь MAMP. Прежде чем писать, естественно, загуглил — XDebug встроен по умолчанию, но только в платную версию MAMP-PRO. Хотелось бы получить совет от автора, какой сервер, совместимый с macOS, вы бы порекомендовали, чтобы в дальнейшем, в рамках данного курса, не возникало проблем. Спасибо.

Здравствуйте. Сам использую MAMP PRO на маке

Разобрался как настроить Xdebug на бесплатной версии MAMP. Теперь все работает. Идем дальше ))

подскажи пожалуйста как? то что гуглю — не работает

  [Тут](https://schurpf.com/xdebug-phpstorm-mamp/) есть подробное описание.  

День добрый,
Я дошла до пункта: «Теперь возвращаемся в Chrome, заходим на адрес нашего проекта (в моём случае http://myproject.loc/) и после того как зашли(!!!) жмём на значок жучка (уже в Chrome) и выбираем пункт “Debug”.»
После обновления страницы она не повисла в загрузке, а в PhpStorm в разделах написано frames: «frames are not availiable»; varibles: «Waiting for incoming connection with ide key ‘PHPSTORM'».
Использую openserver и PhpStrom.

в отладчике в Variable надпись: «Waiting for incoming connection with ide key ‘PHPSTORM'».
И ещё, F7, F8, F9 — у меня не работают, т.е. никаких действий не происходит

Попросите помощи в чате в телеге. Но перед этим можно попробовать открыть проект в шторме с диска W:

Артём, а можете рассказать про настройку отладки PHPSTORM+DOCKER(php-fpm+nginx), когда приложение запущено в DOCKER-контейнере?
Был бы Вам очень признателен!
Этот кейс сейчас очень востребован, и я думаю, неплохо было бы пролить свет на эту темную проблемку.

Сделал как в видео, то есть добавил строчки для xdebug в openserver и после настроил в phpstorm,но всплывающего окошка в правом верхнем углу экрана нет и пишет addconfiguration, что делать?
P.S проблема решена

Добрый день.
У меня возникло пару проблем:

1) Установил все как в уроке было, отладчик запускается и информацию показывает, НО.
Когда обновляешь страничку она в браузере не грузится, но информацию отладчику передает.
Если Отключить отладчик, тогда страница грузится.

2) В видео на времени 11.30
При перезапуске отладчика в поле дебага все убралось и отобразился только один уровень с итогом. Чтоб появилась вся информация, пришлось снова нажимать Ф8 или Ф9
И после этого все равно в Watches только в одном стеке есть значение Х

Сейчас посмотрел, после выполнения всех итераций кода страничка прогружается.

Правильно ли я понял касательно работы рекурсии в последнем задании прошлого ДЗ: получается, что тот код сначала считает все значения Х и после их выводит от обратного? Так всегда происходит?
Т.к. у меня сложности возникли именно с выводом значений в обратном порядке, для этого пришлось вводить вторую переменную.

  1. Всё правильно, прежде чем она отобразится, скрипт должен отработать до конца. Пока отладчик стоит на брэйкпоинте, выполнение скрипта на паузе, страница продолжает формироваться.
  2. Рекомендую погуглить про рекурсию, не понял пока вашего вопроса, кто там кого считает) Посмотрите альтернативные источники.

А у меня точка останова не срабатывает.
Ну и «Waiting for incoming connection with ide key ‘PHPSTORM'» в Variables.
В phpinfo() инфа о xdebug есть — v2.9.8.
На ошибки в коде PhpStorm указывает.

Скорее всего пути не сходятся. Опенсервер при запуске монтирует виртуальный диск?

Точно, путь был неправильно прописан.
Моя ошибка.
Теперь вроде всё заработало!

Добрый день, не получается настроить отображение var_dump построчно. В ini-файле раскомментировала следующие строки:

xdebug.overload_var_dump        = 1
html_errors                 = on

не помогает…

Попробуйте по этой инструкции

У меня XDebug не работает как должно.
Во вкладке Variables написано:
«Waiting for incoming connection with ide key ‘PHPSTORM'».
описание картинки

Он так и должен писать. Посмотрите видео, у меня так же пишет)

Привет!
Обновлял у себя версию openserver’а. В версии Open Server 5.3.8 используется версия Xdebug 3.0.2, и для активации необходимо использовать другие параметры для php.ini так как со старыми уже не работает.

*Примечание: в Xdebug 3 по умолчанию прописан порт 9003, поэтому надо либо его сменить на 9000, либо в phpStorm поставить порт 9003.

По параметрам получилось следующее:

zend_extension="%sprogdir%/modules/php/%phpdriver%/ext/php_xdebug.dll"
xdebug.mode = debug,develop
xdebug.client_host = "localhost"
xdebug.client_port = 9003
xdebug.connect_timeout_ms = 200
xdebug.idekey = "PHPSTORM"

Привет! Но по уроку же и в шторме выставляем 9000 и в php.ini. Разве нет?

Да, это я напимер написал. В документации написано что из-за изменения порта по умолчанию, слушаются и 9000 и 9003. В общем не важно. Суть в новых параметрах для пхп.ини
Параметры:

xdebug.remote_enable
xdebug.remote_port
xdebug.remote_handler
xdebug.remote_connect_back

Убрали из новой версии в принципе.

С дебагером разобрался, всё настроено, всё работает, но вот видимо рекурсию понял не до конца. Точнее проблема как и у всех комментаторов, когда дошли до нуля как echo начинает отрабатывать и выводить 1, 2, 3 и т.д.

А это обязательное требование, устанавливать Debag?

Нет. Но без него придется тяжко

:beetle: Install and Configure xDebug v3 on Ubuntu for PhpStorm :elephant:

  • Assuming that you have already installed php and apache
  • Install xDebug php extension

    sudo apt-get install php7.4-xdebug
  • Edit your xdebug.ini
  • Your xdebug.ini file path should look like this
    • /etc/php/7.4/mods-available/xdebug.ini
  • Add these lines without modifying exiting
    
    # Configuration for Xdebug 3
    [Xdebug]
    zend_extension="xdebug.so"

xdebug.mode=debug,develop
xdebug.start_with_request=default
xdebug.idekey=PHPSTORM
xdebug.client_port=9003
xdebug.file_link_format=phpstorm://open?%f:%l

* Restart the apache server to reflect changes

sudo service apache2 restart


* **Configure phpStorm**
* Go through - Settings >> PHP >> Debug
* Ensure that 'Debug port' is the same as you have in your `xdebug.ini`. In our case it was `9003`.
* Save and close the Settings Dialog

* **Start debugging**
* Create some [breakpoints](https://www.jetbrains.com/help/phpstorm/breakpoints-2.html) in your project 
* Make sure those breakpoints gets executed when your visit your website in browser.
* Start listener by clicking on the telephone :telephone_receiver: button on top toolbar
* If you can't find telephone button; then go through menus - Run -> Start listening for PHP Debug Connections 
* Use [chrome extension](https://chrome.google.com/webstore/detail/xdebug-helper/eadndfjplgieldjbigjakmdgkmoaaaoc?hl=en) 
* Configure this chrome extension and set IDE Key to `PHPSTORM`
* Visit your website
* You should see a popup window in PhpStorm , click **Accept** connection 
* Done, enjoy debugging !!!

-----

### Disable xdebug

sudo phpdismod xdebug

### Enable xdebug back 

sudo phpenmod xdebug

### Disable xdebug for commandline only 

sudo phpdismod -s cli xdebug

Skip to content

На чтение 4 мин. Просмотров 11 Опубликовано 15.12.2019

A local PHP interpreter is a PHP engine installed on your computer opposite to a remote PHP interpreters that can be installed on a remote host or in a virtual environment set up in a Vagrant instance, see Configuring Remote PHP Interpreters.

In the Settings/Preferences dialog ( Ctrl+Alt+S ), go to Languages & Frameworks | PHP .

On the PHP page that opens, click In the CLI Interpreters dialog that opens, click To do that, click

    To add a new entry, click To change the order of entries, click Click

    I searched on this site a lot and on google too but could not get the answer. What should be php’s interpreter path so that phpstorm recognizes it and thus i can do debugging? Anything missing??

    $ which php /usr/bin/php – Pratik Aug 21 ’15 at 17:32

    PhpStorm and WAMP configuration debugging parameters

    Error. Interpreter is not specified or invalid. Press “Fix” to edit your project configuration.

    Browse to Languages & Frameworks->PHP

    Include Path add D:WAMP64appsphpsysinfo3.2.3sampledistrotestPear

    Click CLI Interpreter on the right. Button to open the following window

    Click on the upper left corner of the green plus button

    Select Local Other.

    Configuration is as follows:

    Assuming that the WAMP installation path is D:WAMP64, the version number may be different, select option according to the actual situation.

    PHP executable set to D:WAMP64inphpphp5.6.16php.exe (click . Button to browse)

    Debugger extension set to D:WAMP64inphpphp5.6.16zend_extphp_xdebug-2.4.0rc2-5.6-vc11-x86_64.dll (click . Button browse)

    Set the results as follows:

    Click on the OK button to save the settings.

    The final set of results are as follows:

    Click on the OK button to save the settings.

    Posted by Thomas in PHP at Jan 14, 2017 — 12:44 AM

We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “Accept”, you consent to the use of ALL the cookies.

➜  docroot git:(develop) ✗ fin sysinfo
WARNING: No swap limit support
███  OS
Linux Ubuntu 16.04
Linux lotus 4.4.0-130-generic #156-Ubuntu SMP Thu Jun 14 08:53:28 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
Mode: Linux Kernel

███  FIN
fin version: 1.60.2

███  ENVIRONMENT
DOCKER_HOST		| 
WARNING:  Non-default DOCKER_HOST

███  DOCKER
EXPECTED VERSION: 18.03.1-ce

Client:
Version:      18.03.1-ce
API version:  1.37
Go version:   go1.9.5
Git commit:   9ee9f40
Built:        Thu Apr 26 07:17:20 2018
OS/Arch:      linux/amd64
Experimental: false
Orchestrator: swarm

Server:
Engine:
Version:      18.03.1-ce
API version:  1.37 (minimum version 1.12)
Go version:   go1.9.5
Git commit:   9ee9f40
Built:        Thu Apr 26 07:15:30 2018
OS/Arch:      linux/amd64
Experimental: false

███  DOCKER INFO
Containers: 81
Running: 17
Paused: 0
Stopped: 64
Images: 22
Server Version: 18.03.1-ce
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge host macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 773c489c9c1b21a6d78b5c538cd395416ec50f88
runc version: 4fc53a81fb7c994640722ac585fa9ca548971871
init version: 949e6fa
Security Options:
apparmor
seccomp
Profile: default
Kernel Version: 4.4.0-130-generic
Operating System: Ubuntu 16.04.4 LTS
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 23.26GiB
Name: lotus
ID: A3Q4:4FBD:BDLF:IDMF:BOTV:RQ2D:CYT5:2MMF:OHMI:JY3W:NJGE:4U4I
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false

WARNING: No swap limit support
███  DOCKER COMPOSE
EXPECTED VERSION: 1.21.1
docker-compose version 1.21.1, build 5a3f1a3
docker-py version: 3.3.0
CPython version: 3.6.5
OpenSSL version: OpenSSL 1.0.1t  3 May 2016
WARNING: No swap limit support

███  DOCKER: IMAGES
REPOSITORY            TAG                 IMAGE ID            CREATED             SIZE
docksal/cli           2.2-php7.1          f8397b8a269f        4 weeks ago         867MB
docksal/cli           2.2-php5.6          f7332f798bb1        4 weeks ago         821MB
runwaytest_web        latest              e403623639d7        2 months ago        377MB
php                   7-apache            e403623639d7        2 months ago        377MB
mysql                 5.7                 0d16d0a97dd1        2 months ago        372MB
mysql                 latest              a8a59477268d        2 months ago        445MB
httpd                 latest              fb2f3851a971        2 months ago        178MB
debian                latest              8626492fecd3        2 months ago        101MB
docksal/db            1.2-mysql-5.6       0f0acba4c6d1        3 months ago        256MB
docksal/db            1.2-mysql-5.5       6f53aab3e999        3 months ago        205MB
docksal/cli           2.1-php7.1          4c7331d4cf77        3 months ago        950MB
docksal/cli           2.0-php7.1          9ba7c35bb83f        3 months ago        914MB
docksal/cli           2.0-php7.2          8f42648197b3        3 months ago        842MB
docksal/cli           2.0-php7.0          7c26d9c5e115        3 months ago        912MB
docksal/cli           2.0-php5.6          0fea463bfbd9        3 months ago        887MB
docksal/vhost-proxy   1.2                 a1c980537985        3 months ago        166MB
docksal/web           2.1-apache2.4       32c1d32eba6d        10 months ago       87.5MB
docksal/db            1.1-mysql-5.6       6feb79af9597        11 months ago       298MB
memcached             1.4-alpine          273374b463b8        11 months ago       7.68MB
docksal/dns           1.0                 20c7a535479d        17 months ago       61.6MB
docksal/ssh-agent     1.0                 148220cc033d        17 months ago       12.2MB
docksal/web           1.0-apache2.2       a9c03f8a5f0f        17 months ago       188MB
docksal/db            1.0-mysql-5.5       9fb8c0aed5fc        17 months ago       255MB

███  DOCKER: CONTAINERS
CONTAINER ID        IMAGE                       COMMAND                  CREATED             STATUS                       PORTS                                                    NAMES
32b0dd1f5e60        docksal/db:1.2-mysql-5.6    "/entrypoint.sh mysq…"   2 days ago          Up About an hour             0.0.0.0:32769->3306/tcp                                  tsad8_gov_build_db_1
61b071ba8a78        docksal/web:2.1-apache2.4   "httpd-foreground"       2 days ago          Up About an hour             443/tcp, 0.0.0.0:32768->80/tcp                           tsad8_gov_build_web_1
f22d6e135e0b        docksal/cli:2.2-php7.1      "/opt/startup.sh sup…"   2 days ago          Up About an hour (healthy)   22/tcp, 3000/tcp, 9000/tcp                               tsad8_gov_build_cli_1
c44820fdcefd        docksal/web:2.1-apache2.4   "httpd-foreground"       3 weeks ago         Up About an hour             443/tcp, 0.0.0.0:32771->80/tcp                           tsa2_gov_build_web_1
d0e747ca7d5e        memcached:1.4-alpine        "docker-entrypoint.s…"   3 weeks ago         Up About an hour             11211/tcp                                                tsa2_gov_build_memcached4_1
56267434f0ba        docksal/db:1.2-mysql-5.5    "/entrypoint.sh mysq…"   3 weeks ago         Up About an hour             0.0.0.0:32770->3306/tcp                                  tsa2_gov_build_db_1
ddbb23a9f80e        memcached:1.4-alpine        "docker-entrypoint.s…"   3 weeks ago         Up About an hour             11211/tcp                                                tsa2_gov_build_memcached2_1
685bf0581795        docksal/cli:2.2-php5.6      "/opt/startup.sh sup…"   3 weeks ago         Up About an hour (healthy)   22/tcp, 3000/tcp, 9000/tcp                               tsa2_gov_build_cli_1
38f2ae685504        memcached:1.4-alpine        "docker-entrypoint.s…"   3 weeks ago         Up About an hour             11211/tcp                                                tsa2_gov_build_memcached1_1
0bed8d844f71        memcached:1.4-alpine        "docker-entrypoint.s…"   3 weeks ago         Up About an hour             11211/tcp                                                tsa2_gov_build_memcached3_1
43c96da6ad70        memcached:1.4-alpine        "docker-entrypoint.s…"   3 weeks ago         Up About an hour             11211/tcp                                                tsad8_gov_build_memcached2_1
4dba0e7e6a00        memcached:1.4-alpine        "docker-entrypoint.s…"   3 weeks ago         Up About an hour             11211/tcp                                                tsad8_gov_build_memcached1_1
51c9be351fe7        memcached:1.4-alpine        "docker-entrypoint.s…"   3 weeks ago         Up About an hour             11211/tcp                                                tsad8_gov_build_memcached4_1
36fb0572133a        memcached:1.4-alpine        "docker-entrypoint.s…"   3 weeks ago         Up About an hour             11211/tcp                                                tsad8_gov_build_memcached3_1
220939fb67e3        docksal/ssh-agent:1.0       "/run.sh ssh-agent"      3 weeks ago         Up About an hour                                                                      docksal-ssh-agent
debbc7964b9c        docksal/dns:1.0             "/opt/entrypoint.sh …"   3 weeks ago         Up About an hour             192.168.64.100:53->53/udp                                docksal-dns
70defc90c45d        docksal/vhost-proxy:1.2     "docker-entrypoint.s…"   3 weeks ago         Up About an hour             192.168.64.100:80->80/tcp, 192.168.64.100:443->443/tcp   docksal-vhost-proxy

███  VIRTUALBOX
EXPECTED VERSION: 5.2.2
5.1.34_Ubuntur121010

███  VIRTUALBOX NETWORK INTERFACES

███  HDD Usage
Filesystem                         Size  Used Avail Use% Mounted on
udev                                12G     0   12G   0% /dev
tmpfs                              2.4G   11M  2.4G   1% /run
/dev/mapper/ubuntu--mate--vg-root  664G  137G  494G  22% /
tmpfs                               12G   66M   12G   1% /dev/shm
tmpfs                              5.0M  4.0K  5.0M   1% /run/lock
tmpfs                               12G     0   12G   0% /sys/fs/cgroup
/dev/loop1                         248M  248M     0 100% /snap/phpstorm/32
/dev/loop0                          87M   87M     0 100% /snap/core/4917
/dev/loop4                         249M  249M     0 100% /snap/phpstorm/38
/dev/loop2                          87M   87M     0 100% /snap/core/4650
/dev/loop3                          87M   87M     0 100% /snap/core/4830
/dev/loop5                         252M  252M     0 100% /snap/phpstorm/36
/dev/sda2                          473M  238M  211M  54% /boot
/dev/sda1                          511M  3.5M  508M   1% /boot/efi
tmpfs                              2.4G   36K  2.4G   1% /run/user/1001

███  RAM Usage
            total        used        free      shared  buff/cache   available
Mem:       24385252     3896636    17484340      260144     3004276    19786476
Swap:      24854524           0    24854524

███  RAM Usage per container
CONTAINER ID        NAME                           CPU %               MEM USAGE / LIMIT     MEM %               NET I/O             BLOCK I/O           PIDS
32b0dd1f5e60        tsad8_gov_build_db_1           0.05%               476.4MiB / 23.26GiB   2.00%               700kB / 6.71MB      95.7MB / 37.9MB     23
61b071ba8a78        tsad8_gov_build_web_1          0.08%               5.316MiB / 23.26GiB   0.02%               369kB / 988kB       17.5MB / 0B         109
f22d6e135e0b        tsad8_gov_build_cli_1          1.51%               66.13MiB / 23.26GiB   0.28%               13.5MB / 6.15MB     287MB / 115kB       9
c44820fdcefd        tsa2_gov_build_web_1           0.07%               4.82MiB / 23.26GiB    0.02%               225kB / 864kB       1.6MB / 0B          109
d0e747ca7d5e        tsa2_gov_build_memcached4_1    0.01%               520KiB / 23.26GiB     0.00%               24.5kB / 0B         0B / 0B             7
56267434f0ba        tsa2_gov_build_db_1            0.05%               106.8MiB / 23.26GiB   0.45%               1.38MB / 10.7MB     136MB / 70.5MB      16
ddbb23a9f80e        tsa2_gov_build_memcached2_1    0.01%               528KiB / 23.26GiB     0.00%               24.5kB / 0B         0B / 0B             7
685bf0581795        tsa2_gov_build_cli_1           1.50%               166MiB / 23.26GiB     0.70%               10.7MB / 1.59MB     153MB / 385kB       6
38f2ae685504        tsa2_gov_build_memcached1_1    0.01%               528KiB / 23.26GiB     0.00%               24.5kB / 0B         0B / 0B             7
0bed8d844f71        tsa2_gov_build_memcached3_1    0.01%               528KiB / 23.26GiB     0.00%               24.5kB / 0B         0B / 0B             7
43c96da6ad70        tsad8_gov_build_memcached2_1   0.01%               24.8MiB / 23.26GiB    0.10%               841kB / 1.54MB      0B / 0B             7
4dba0e7e6a00        tsad8_gov_build_memcached1_1   0.01%               27.73MiB / 23.26GiB   0.12%               1.76MB / 2.87MB     0B / 0B             7
51c9be351fe7        tsad8_gov_build_memcached4_1   0.01%               28.66MiB / 23.26GiB   0.12%               1.54MB / 1.2MB      0B / 0B             7
36fb0572133a        tsad8_gov_build_memcached3_1   0.01%               22.89MiB / 23.26GiB   0.10%               830kB / 649kB       3.96MB / 0B         7
220939fb67e3        docksal-ssh-agent              0.00%               660KiB / 23.26GiB     0.00%               31.1kB / 0B         10.1MB / 0B         2
debbc7964b9c        docksal-dns                    0.21%               13.93MiB / 23.26GiB   0.06%               118kB / 96.2kB      30.5MB / 0B         12
70defc90c45d        docksal-vhost-proxy            0.19%               16.89MiB / 23.26GiB   0.07%               2.16MB / 1.96MB     74.7MB / 41kB       16
➜  docroot git:(develop) ✗ 

Понравилась статья? Поделить с друзьями:
  • Error permission denied untitled ipynb
  • Error permission denied transmission
  • Error permission denied stalker
  • Error permission denied github
  • Error permission denied for database