Отладка php в браузере

Обновлено: 10.12.2024

Веб-приложения обычно состоят из кода PHP и JavaScript: код PHP выполняется на стороне сервера, а код JavaScript выполняется в браузере. С PhpStorm вы можете легко отлаживать код PHP, чтобы проверять, что происходит на сервере, изменять переменные и так далее. Мы также можем отлаживать JavaScript, работающий в браузере, запустив сеанс отладки JavaScript из IDE.

В этом руководстве представлен обзор способов одновременной отладки кода PHP и JavaScript из PhpStorm.

Прежде чем начать

Прежде чем начать отладку, убедитесь, что у вас установлен и правильно настроен механизм отладки. PhpStorm поддерживает отладку с помощью двух самых популярных инструментов: Xdebug и Zend Debugger. Эти инструменты нельзя использовать одновременно, потому что они блокируют друг друга. Чтобы избежать этой проблемы, вам необходимо обновить соответствующие разделы в файле php.ini, как описано в разделах Настройка Xdebug и Настройка Zend Debugger.

Откройте активный файл php.ini в редакторе:

В диалоговом окне "Настройки/Настройки" ( Ctrl+Alt+S ) нажмите PHP .

На открывшейся странице PHP нажмите рядом с полем CLI Interpreter.

В открывшемся диалоговом окне "Интерпретаторы CLI" в поле "Файл конфигурации", доступном только для чтения, отображается путь к активному файлу php.ini. Нажмите Открыть в редакторе .

Затем установите букмарклеты отладки PhpStorm или одно из расширений отладки браузера, а также расширение расширения JetBrains Chrome, как описано в разделе Live Edit в HTML, CSS и JavaScript.

Прослушивание входящих подключений отладчика

В PhpStorm включите прослушивание входящих отладочных подключений, нажав на панели инструментов или выбрав «Выполнить» | Начните прослушивание отладочных соединений PHP в главном меню. Это обеспечит реакцию PhpStorm при запуске сеанса отладки и автоматическое открытие окна инструмента отладки. Перед запуском скрипта убедитесь, что либо установлена ​​точка останова, либо включена опция Прерывать первую строку в PHP-скриптах на странице Отладка диалогового окна Настройки/Настройки Ctrl+Alt+S .

Запустите отладчик JavaScript

В зависимости от ваших предпочтений или требований к приложению вы можете использовать встроенный веб-сервер PhpStorm для локального запуска нашего приложения или использовать любой другой веб-сервер, работающий локально или на удаленном компьютере.

Использовать встроенный веб-сервер

Отладчик JavaScript в PhpStorm можно запустить из редактора или из окна инструментов проекта с помощью кнопки Отладка | команда контекстного меню. Если выбран файл PHP, будут доступны две записи. Важно выбрать первый, отмеченный значком , который запустит отладчик JavaScript.

После запуска мы можем размещать точки останова в коде JavaScript и использовать отладчик JavaScript.

Использовать внешний веб-сервер

При использовании локального веб-сервера, такого как Apache или Nginx, или при разработке на удаленном веб-сервере, компьютере Vagrant или Docker мы можем запустить отладчик JavaScript, используя конфигурацию запуска/отладки.

Создать конфигурацию запуска/отладки

Выполните одно из следующих действий:

Выберите «Изменить конфигурации» на панели инструментов PhpStorm

Выберите «Выполнить» | Редактировать конфигурации из главного меню.

В открывшемся диалоговом окне «Выполнение/отладка конфигураций» нажмите на панели инструментов и добавьте новую конфигурацию отладки JavaScript.

Введите полный URL-адрес страницы, которую мы хотим отлаживать на веб-сервере. При необходимости укажите некоторые сопоставления, чтобы PhpStorm мог определить, где найти локальные файлы относительно удаленного URL-адреса. Это требуется только тогда, когда у нас есть различная структура проекта локально и на удаленном сервере. Обратите внимание, что если вы развертываете приложения PHP с помощью PhpStorm, сопоставления будут повторно использоваться из конфигурации развертывания.

После создания конфигурации вы можете запустить сеанс отладки JavaScript с панели инструментов PhpStorm:

Начать сеанс отладки PHP из браузера

Мы будем следовать подходу к отладке с нулевой конфигурацией. В браузере мы можем использовать букмарклеты отладки PhpStorm или одно из расширений отладки браузера, чтобы начать сеанс отладки PHP. Это даст PHP-серверу указание установить соединение с PhpStorm и открыть отладчик. Обратите внимание, что IDE сначала может попросить вас предоставить необходимые сопоставления путей. После подключения отладчика мы сможем одновременно отлаживать как JavaScript, так и PHP. PhpStorm будет переключаться между отладчиками по мере необходимости.

Одновременно запустить отладчик JavaScript и PHP

На предыдущих шагах мы запускали отладчик JavaScript и PHP по отдельности. При использовании Xdebug мы можем передать параметр URL-адреса XDEBUG_SESSION_START на наш сервер, чтобы начать отладку PHP одновременно с отладкой JavaScript. Мы можем сделать это, используя настраиваемую конфигурацию запуска/отладки. Создайте конфигурацию запуска/отладки, как вы делали ранее, и обязательно добавьте параметр URL-адреса XDEBUG_SESSION_START=some-session-name, например, ?XDEBUG_SESSION_START=phpstorm :

Устранение неполадок

Я не могу размещать точки останова в частях JavaScript файла php

В настоящее время установка точек останова PHP и JavaScript в одном файле не поддерживается. Например, в следующем коде нельзя установить точки останова JavaScript:

Как отлаживать код PHP с помощью вкладки консоли браузера 7 сентября 2012 г.

Отладка PHP-приложений всегда была распространенным занятием, так как независимо от опыта разработчика, почти всегда возникает небольшая синтаксическая ошибка (по крайней мере, это случается со мной часто). Для быстрого и простого процесса отладки оператор «echo», вероятно, является наиболее часто используемым инструментом (в сочетании с одной из этих трех переменных: var_dump, print_r, var_export()). Хотя есть инструменты, раскрывающие больше деталей во время отладки (например, XDebug), у вас не всегда есть доступ для их установки на сервер, с которым вы работаете. К счастью, вы также можете получить некоторые разумные возможности отладки PHP с помощью инструмента веб-разработки вашего браузера. В сегодняшней статье будет представлен способ расширить функциональность двух браузеров с открытым исходным кодом (Firefox и Chrome) путем установки плагинов. PHP-скрипт будет сбрасывать ошибки, трассировки или данные объектов в включенную PHP-консоль браузера.

Расширение Chrome:

  • Установите расширение (ChromePHP) из галереи расширений Google Chrome в Chrome . Об успешной установке сообщает значок на панели инструментов Chrome. из GitHub класс ChromePhp для ведения журнала и поместите его куда-нибудь в путь включения. Этот класс позволяет записывать переменные в консоль Chrome.
  • Напишите код в свой PHP-скрипт
  • Откройте Chrome и щелкните значок расширения, чтобы включить ведение журнала (значок станет голубым). Если все работает правильно, ваш вывод будет выглядеть примерно так:

Убедитесь, что вы включаете это только в среду разработки. Вы не хотите, чтобы пользователи видели ваши операторы отладки в рабочей среде.

Расширение Mozilla FireFox:

В то время как предыдущий метод легко реализовать в среде хостинга, этот пример может показаться утомительным, если вам неудобно устанавливать пакеты PEAR. Для начала в моей предыдущей статье объясняется, как за десять шагов установить PEAR-пакеты на WAMP.

Когда вы решите разрабатывать веб-приложения, вы должны позаботиться о нескольких вещах, чтобы получить безупречный конечный продукт. Хороший разработчик всегда выбирает лучшие практики при разработке надежных приложений. Эти методы включают тестирование, отладку, производительность и безопасность веб-сайтов или приложений. В предыдущей статье я затронул несколько тем из вышеперечисленных. В этой статье я расскажу о концепциях и методах отладки PHP в PHP-коде.

Начнем с базового уровня, на котором вы обычно пишете PHP-код, используя команды print_r(), var_dump() для отладки вывода написанного кода. Существуют инструменты отладки PHP, в которых пользователь призывает исправить проблемы во время кодирования, а также эти функции, которые показывают вам правильный вывод или ошибки/предупреждения в случае сбоя кода. Хотя этот метод отладки PHP является базовым, он все еще используется.

Повысьте производительность своих PHP-приложений в 10 раз

Оптимизируйте свои PHP-приложения вместе с нами и всегда повышайте производительность в Интернете

Журналы ошибок в PHP

Когда вы работаете в среде разработки на любом веб-хостинге для PHP, отчеты об ошибках должны быть включены, чтобы вы могли быстро просмотреть в браузере, какие журналы ошибок генерируются в PHP. Вы можете включить/отключить журналы ошибок из файла php.ini и отдельных файлов php. Другой рекомендуемый способ – всегда создавать в проекте файл конфигурации.

В файле php.ini вы можете легко включить его. Помните, что вы должны удалить; от каждой стартовой линии.

Чтобы включить регистрацию ошибок PHP для текущего вызова в отдельном файле, вы можете написать следующий код сверху:

Но тем не менее вам необходимо включить эту строку в файле php.ini для сообщения об ошибках синтаксического анализа:

Приведенные выше методы полезны в любой среде. Но если вы, наконец, завершили свое приложение и загружаете его на производственные серверы, вы можете забыть восстановить настройки разработчика. В этом случае вы можете создать файл конфигурации, включающий условия, при которых вы будете отображать и регистрировать ошибки. Вы можете написать следующий код для проверки ошибок в PHP:

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

Получите электронную книгу по развертыванию PHP сейчас

Введите свой адрес электронной почты ниже и получите ссылку для скачивания.

Спасибо

Ваша электронная книга уже на пути к вашему почтовому ящику.

Вот различные методы проверки ошибок в PHP, которые можно использовать для отладки PHP-скриптов, ошибок и предупреждений.

Разработка, основанная на отладке PHP? Что это?

На момент написания этой статьи я не был уверен, что термин "разработка, управляемая отладкой" (DDD) является правильным, но эту идею мне подсказал мой друг, который всегда занят отладкой своего кода на этапе разработки. Я видел его код, который содержит несколько точек останова, и он просматривает каждую строку ответа, пока не получит желаемый результат: D. Не путайте точки останова. Я покажу вам, какие они. Я думал, что это похоже на концепцию TDD, где вы сначала пишете тестовый пример, а затем кодируете, чтобы пройти этот тест. DDD может иметь аналогичный процесс, когда вы сначала определяете все методы отладки PHP для настройки, а затем пишете код для отладки, если возникают какие-либо ошибки.

На данный момент будет достаточно познакомить вас с Xdebug. Это поможет вам понять концепцию разработки, основанной на отладке PHP. Когда вы запускаете PHP с Xdebug, он дает вам полное представление об ошибках, ответах и ​​покрытии кода.

Что такое Xdebug?

Представьте, что вы уже написали код и теперь собираетесь его скомпилировать. Удар! Что-то идет не так, и код ломается. И что еще хуже, вы не можете определить, что это такое. Xdebug — ваш спаситель. Xdebug — это расширение PHP, которое помогает разработчикам при отладке и плавной разработке своих проектов внимательно следить за ошибками и устранять их. Он обновляет функцию PHP var_dump(). Он также добавляет трассировку стека для уведомлений, предупреждений, ошибок и исключений.

Xdebug позволяет нам добавлять точки останова и останавливать выполнение кода в каждой точке останова, чтобы вы могли видеть выходные данные переменных только в одной итерации кода. Таким образом, вы экономите свое драгоценное время, которое в противном случае было бы потеряно при отладке кода. Без Xdebug вам придется обновить страницу, чтобы снова увидеть вывод.

Вы также можете установить независимые методы точек останова, чтобы увидеть, какой из них вызывает проблемы. Кроме того, вы можете добавить в код столько точек останова, сколько хотите, а затем использовать отладчик PHP для проверки каждого кода построчно.

Установить Xdebug в PHP

Пришло время установить Xdebug в PHP. Существует несколько вариантов установки Xdebug.

Xdebug предустановлен в Cloudways

В Cloudways вы можете легко отлаживать PHP с помощью Xdebug. Включите Xdebug с помощью кнопки «Просто переключить».

Окна:

Для пользователей Windows Xdebug предоставляет мастер, с помощью которого можно загрузить соответствующий DLL-файл. Для этого сначала создайте файл PHP в папке и добавьте следующую строку кода:

Запустите файл в браузере. Вы увидите информацию о PHP. Скопируйте детали и поместите их в инструмент мастера и нажмите кнопку «Анализ моего вывода phpinfo()».

Это даст вам следующий результат:

Теперь загрузите файлы .dll и следуйте приведенным выше инструкциям, чтобы поместить файлы в каталог xampp/php/ext. Затем выполните шаг 3, чтобы включить Xdebug в файле php.ini, и, наконец, перезапустите веб-сервер.

MAC

Вы можете установить PHP7 Xdebug, используя расширение pecl:

Линукс

В дистрибутивах Linux, таких как Debian, вы можете использовать Sudo для установки Xdebug в PHP:

Теперь откройте файл etc/php/7.0/mods-available/xdebug.ini и добавьте следующий код, чтобы включить Xdebug:

Теперь перезапустите сервер Apache2.

Вы также можете клонировать его с GitHub.

После установки Xdebug откройте файл php.ini и включите расширение.

Теперь проверьте версию PHP с помощью команды `php -v`. Вы увидите версию Xdebug, установленную с PHP.

Настроить Xdebug в VSCode

Если вам нужен плавный рабочий процесс с Xdebug, вы можете интегрировать его в свою любимую IDE, такую ​​как phpstorm, Zend studio и VScode. Давайте настроим Xdebug в Visual Studio Code для отладки PHP.

Начните расти с Cloudways PHP Hosting сегодня

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

Существует популярное PHP-расширение VSCode, которое называется php debug. Вы можете найти его в окне расширения и установить.

После установки необходимо перезагрузить окно VSCode. Теперь снова запустите phpinfo(); метод в любом файле PHP, чтобы проверить, включен ли Xdebug или нет.

Теперь нажмите на вкладку консоли отладки и нажмите "Добавить конфигурацию".

Теперь вы должны выбрать среду PHP. Теперь VSCode добавит файл launch.json в корневой каталог.

Наконец, добавьте свойство runtimeExecutable в список после порта:

Сохраните файл launch.json. Откройте вкладку режима отладки и нажмите зеленую кнопку отладки, чтобы запустить параметр отладки.

Теперь вы увидите несколько элементов в окне, с помощью которых вы можете выбрать, какие журналы Xdebugger будет отображать:

  • Уведомления
  • Предупреждения
  • Ошибки
  • Исключения
  • Все

Перейдите к разделу консоли отладки, в котором отображаются сведения об ошибках и кнопки выполнения отладки вверху.

Вы можете выбрать по своему усмотрению. Теперь позвольте мне рассказать вам о том, что я уже обсуждал в точках останова на ранней стадии. На этом этапе вы можете добавить точки останова в строки кода, которые необходимо отладить. Обратите внимание, что Xdebug добавит имя сценария отладки PHP с номером строки в левом нижнем углу:

Вы можете запустить приложение в браузере, а затем прочитать код построчно, чтобы увидеть ошибки и правильно их отладить. Также вам нужно напомнить несколько функциональных клавиш быстрого доступа для перемещения по функциям и строкам кодов:

F5: продолжить отладку

F10: Шагнуть вперед

F11: войти

Shift + F11: выйти

Профилирование Xdebug

Xdebug также обеспечивает профилирование кода, как и другие инструменты профилирования, такие как Blackfire и Tideways. Если вы хотите использовать опцию профилирования, вы должны включить ее в файле php.ini.

Теперь откройте файл и начните вводить все журналы профилирования.

В: Как отлаживать PHP в Chrome?

О: Вы можете легко отлаживать PHP в Chrome, используя простое расширение под названием PHP Console. Просто установите этот инструмент отладки PHP из интернет-магазина Chrome и начните регистрировать ошибки, предупреждения, исключения и дамп переменных в браузере Chrome.

В: Как отлаживать PHP в Firefox?

В: Как отключить Xdebug в PHP?

A: Чтобы отключить Xdebug в PHP, перейдите в файл php.ini и найдите запись с Xdebug. Закомментируйте его, поставив «;» к расширению как:
; zend_extension = «/path/to/php_xdebug.dll»
Перезапустите сервер Apache, и вы увидите, что Xdebug отключен на следующем этапе.

В: Как устранить ошибку, связанную с тем, что отладчик PHP не установлен?

О: Чтобы устранить эту ошибку, проверьте файл в каталоге C:/php/ext/, который может содержать отсутствующее или неверное расширение.

Выполните следующие пять шагов, чтобы устранить эту ошибку:

  1. Перейти к xDebug
  2. Загрузить Xdebug 2.4.0rc1
  3. Переименуйте его в php_xdebug.dll
  4. Вставьте этот файл в папку «php/ext».
  5. Перезагрузите сервер.

Заключительные слова

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

В этой статье вы узнали, как включить отладку PHP с помощью Xdebug и настроить его в VSCode. Вы также можете интегрировать его в Eclipse, PHPstorm и другие IDE.Если есть что-то, о чем вы хотите узнать больше, оставляйте свои комментарии и предложения в разделе комментариев ниже.

Поделиться этой статьей

Отзыв клиента на

"У хостинга Cloudways один из лучших сервисов и скорость хостинга"

Санджит С [разработчик веб-сайта]

Шахрозе Наваз

Шахрозе — менеджер сообщества PHP в Cloudways — управляемой платформе PHP-хостинга. Помимо работы, он любит кино и путешествия. Вы можете написать ему по адресу [email protected]

Эта процедура описывает, как отлаживать целые приложения, проекты, файлы или наборы файлов, которые уже находятся на сервере.

Для возможности удаленной отладки на вашем сервере должен быть запущен XDebug.

Чтобы отладить веб-страницу PHP:

Нажмите стрелку рядом с кнопкой отладки на панели инструментов и выберите «Открыть диалоговое окно отладки» или выберите «Выполнить | Откройте диалоговое окно отладки.
Откроется диалоговое окно отладки.

Дважды щелкните параметр веб-страницы PHP, чтобы создать новую конфигурацию отладки.

Введите имя новой конфигурации.

Выберите отладчик сервера, который будет использоваться. PDT поддерживает как Zend Debugger, так и XDebug.

Выберите свой сервер из списка серверов PHP.
Если вы еще не настроили свой сервер, нажмите «Создать».
Откроется мастер создания сервера PHP.
Настройте сервер, следуя инструкциям по добавлению нового сервера на странице настроек серверов PHP.

Чтобы проверить, правильно ли настроено подключение к серверу и может ли PDT обмениваться данными с отладчиком сервера, нажмите кнопку "Проверить подключение к серверу отладки".

В разделе "Файл PHP" нажмите "Обзор" и выберите "целевой файл отладки" (файл, с которого начнется процесс отладки).

Укажите, должен ли отладчик останавливаться на первой строке кода, установив или сняв флажок "Разрыв на первой строке".

URL-адрес для отладки будет создан автоматически на основе имени файла и адреса вашего сервера. Если URL-адрес не указывает на местоположение цели отладки, снимите флажок «Автоматическое создание» и измените URL-адрес.

Для дополнительных параметров отладки выберите вкладку "Дополнительно", которая содержит следующие параметры:

Открыть в браузере. Отметьте, если хотите, чтобы приложение отображалось во внутреннем браузере PDT во время его отладки.

Выберите, следует ли:

Отладка всех страниц. Отлаживается указанная страница и все страницы, связанные с ней. Браузер ожидает отладки каждой страницы перед ее отображением.

Отладить только первую страницу — отлаживается только первая страница.

Начать отладку с — выберите URL-адрес, с которого вы хотите запустить процесс отладки.

Продолжить отладку с этой страницы. Выбор этого параметра приведет к отладке всех страниц, связанных с URL-адресом.

Нажмите «Применить», а затем «Отладка».

Нажмите «Да», если вас спросят, открывать ли проекцию отладки PHP.

Дополнительную информацию о результатах процесса отладки см. в разделе "Запуск и анализ результатов отладчика".

Если файл содержит вызовы «include» или «require» для файлов, которые не содержатся в проекте, вы должны добавить их в путь включения проекта, чтобы смоделировать производственную среду.
Кроме того, если вызывается файл, для которого задан абсолютный путь к расположению на сервере (дополнительную информацию об абсолютных расположениях файлов см. в разделе «Включить пути»), появится диалоговое окно «Сопоставление пути». Дополнительную информацию см. в разделе Сопоставление путей.

Читайте также: