Перед выполнением данного урока, ознакомьтесь с системой контроля версий git.
Xdebug позволяет отлаживать код на удаленном севере без установки самого Xdebug на локальной машине. Используемый при этом протокол носит название DBGp и поддерживается во многих текстовых редакторах и Integrated Development Environments (IDE, Интегрированная среда разработки), в том числе в Sublime Text. Мы рассмотрим отладку кода, исполняемого на сервере OpenShift - Platform as a Service (PaaS, "платформа как услуга") от Red Hat.
2. Установите инструменты командной строки RHC.
3. Запустите командную строку, перейдите в директорию, где будет располагаться проект
4. Выполните команду rhc app create myphpapp php-5.4
5. Введите пароль, полученный при регистрации
6. Вы получите данные созданного приложения: URL, параметры для ssh доступа и другие данные
<?php
$a = 1;
echo 'Hello World';
2. Создайте файл .htaccess следующего содержания:
php_flag xdebug.remote_enable on
php_value xdebug.remote_host '0.0.0.0'
php_value xdebug.remote_log 'xdebug.log'
здесь мы включили удаленную отладку, указали IP адрес локальной машины (замените '0.0.0.0' на ваш IP адрес) и имя файла для вывода лога.
3. Чтобы не сохранять настройки проекта в git репозитории, создайте файл .gitignore следующего содержания
*.sublime-project
*.sublime-workspace
4. Выполните коммит в git, чтобы зафиксировать изменения. Для этого выполните команду git add --all
5. Выполните команду git commit -m "initial commit" (замените "initial commit" на имя коммита)
6. Выполните команду git push чтобы отправить коммит на сервер.
7. Откройте URL (мы получили его при создании PHP приложения OpenShift из командной строки) в браузере, чтобы увидеть текст "Hello World"
- отображает детальные сообщения об ошибках
- отображает ошибки при запуске
- включает apc.stat (проверка при каждом запросе, что скрипт был изменен)
- игнорирует файл composer.lock
1. Включите режим разработчика, выполнив команду rhc env set APPLICATION_ENV=development
2. Перезапустите приложение, выполнив команду rhc app restart
Xdebug позволяет отлаживать код на удаленном севере без установки самого Xdebug на локальной машине. Используемый при этом протокол носит название DBGp и поддерживается во многих текстовых редакторах и Integrated Development Environments (IDE, Интегрированная среда разработки), в том числе в Sublime Text. Мы рассмотрим отладку кода, исполняемого на сервере OpenShift - Platform as a Service (PaaS, "платформа как услуга") от Red Hat.
Создание PHP приложения в OpenShift
1. Создайте аккаунт на Openshift перейдя по ссылке2. Установите инструменты командной строки RHC.
3. Запустите командную строку, перейдите в директорию, где будет располагаться проект
4. Выполните команду rhc app create myphpapp php-5.4
5. Введите пароль, полученный при регистрации
6. Вы получите данные созданного приложения: URL, параметры для ssh доступа и другие данные
Создание проекта
1. Перейдите в директорию с проектом (myphpapp) Откройте файл index.php и замените данные в файле index.php на:<?php
$a = 1;
echo 'Hello World';
2. Создайте файл .htaccess следующего содержания:
php_flag xdebug.remote_enable on
php_value xdebug.remote_host '0.0.0.0'
php_value xdebug.remote_log 'xdebug.log'
здесь мы включили удаленную отладку, указали IP адрес локальной машины (замените '0.0.0.0' на ваш IP адрес) и имя файла для вывода лога.
3. Чтобы не сохранять настройки проекта в git репозитории, создайте файл .gitignore следующего содержания
*.sublime-project
*.sublime-workspace
4. Выполните коммит в git, чтобы зафиксировать изменения. Для этого выполните команду git add --all
5. Выполните команду git commit -m "initial commit" (замените "initial commit" на имя коммита)
6. Выполните команду git push чтобы отправить коммит на сервер.
7. Откройте URL (мы получили его при создании PHP приложения OpenShift из командной строки) в браузере, чтобы увидеть текст "Hello World"
Development Mode (Режим разработчика)
Режим разработчика позволяет отлаживать php код и включает расширение XDebug, а также:- отображает детальные сообщения об ошибках
- отображает ошибки при запуске
- включает apc.stat (проверка при каждом запросе, что скрипт был изменен)
- игнорирует файл composer.lock
1. Включите режим разработчика, выполнив команду rhc env set APPLICATION_ENV=development
2. Перезапустите приложение, выполнив команду rhc app restart
Настройка проекта в Sublime Text
1. Установите Package Control
2. Перейдите в меню Preferences->Package Control, выберите пункт: Package Control: install Package, в появившейся строке для поиска введите xdebug client. Установите этот пакет.
4. Откройте директорию с проектом myphpapp в Sublime Text (File->Open Folder)
5. Сохраните проект (Project->Save Project as) в директории с проектом.
6. Отредактируйте настройки проекта, перейдя в меню Project->Edit Project
{
"folders":
[
{
"path": "."
}
],
"settings": {
"xdebug": {
"path_mapping": {
"/var/lib/openshift/uuid/app-root/repo" : "***",
},
"url": // url приложения, полученный при создании PHP приложения в OpenShift
"debug": true
}
}
}
В разделе path_mapping нужно указать соответствие директории с проектом на сервере директории с проектом на локальной машине. Значение uuid можно получить выполнив в командной строке команду rhc apps. Также можно зайти на сервер по ssh и узнать пут к директории.
Процесс отладки
Детальное рассмотрение XDebug выходит за рамки этой статьи. Рассмотрим лишь Breakpoints (точки остановки). Они позволяют остановить выполнение кода и посмотреть значения переменных на момент остановки.
1. Чтобы установить точку остановки кликните на строку echo 'Hello World'; в файле index.php правой кнопкой мыши и выберите Xdebug->add/remove breakpoint. Установите точку остановки на строке
1. Чтобы установить точку остановки кликните на строку echo 'Hello World'; в файле index.php правой кнопкой мыши и выберите Xdebug->add/remove breakpoint. Установите точку остановки на строке
<?php
$a = 1;
echo 'Hello World';
2, Перейдите в меню Tools->Xdebug->Start Debugging (Launch Browser). В браузере откроется страница http://myphpapp-***.rhcloud.com/?XDEBUG_SESSION_START=sublime.xdebug и
вы увидите значения переменных на момент остановки.
вы увидите значения переменных на момент остановки.
Комментариев нет:
Отправить комментарий