на примере OpenServer + NetBeans
Macik |
|
---|---|
[ Не нашел оптимального раздела в документации куда это разместить. Тем более на русском. Поэтому прошу модераторов скопировать и разместить в подходящем разделе.] Настройка среды разработки под CotontiВ данной инструкции кратко расскажу о настройке программного окружения для простой и удобной разработки под CMF Cotonti (для ОС Windows). Конкретно этот материал будет на примере программ NetBeans + OpenServer (WAMP). Основной упор сделан на краткость и начинающий уровень пользователя. Задача настроить сервер, установить сайт, и отлаживать его в IDE с помощью удобного отладчика. Установка сервера AMP (apache/mysql/php)Общая настройка OpenServerИдем на http://open-server.ru/download.html, качаем свежую версию Запускаем файл Более опытные пользователи могут прочитать документацию к OpenServer в файле помощи (из комплекта поставки) и разобраться как настроить произвольно выбранную папку для файлов будущего сайта, настроить автозапуск сервера при старте Windows и прочее (но в наш мини обзор это не входит - поэтому действуем максимально быстро, с настройками по умолчанию). В комплекте программ OpenServer поставляется программа Xdebug — отладчик для скриптов для PHP 5.3. OpenServer для удобства разработчиков поставляется с несколькими версиями PHP/Apache/MySQL. Чтобы заработал отладчик надо выбрать в настройках версию PHP 5.3.. Для этого ПКМ → Настройки → закладка «Модули» → PHP, и выбираем версию 5.3 (по умолчанию стоит 5.2). Можно так же выбрать версию БД как MySQL 5.5. как более стабильную. [Имейте в виду, что при переключении версии сервера БД вы потеряете доступ к ранее созданным базам. Т.е. выбирать версию стоит на начальном этапе настройки сервера и потом не менять настройки версии БД.] Еще один момент. Отладчик по умолчанию выключен, т.к. потребляет дополнительные ресурсы при работе сервера. Включим его — как обычно ПКМ на иконке сервера → Дополнительно → Конфигурация → PHP 5.3.*. Будет открыт текстовый файл настроек PHP. Пролистаем его до конца, и видим следующие строки настройки:
Меняем «0» на «1», тем самым включая отладчик, и убираем знак комментария
Еще один момент - отладчик часто конфликтует с расширением IonCube (для запуска шифрованных скриптов). Для разработки Cotonti это расширение не требуется, поэтому отключим его, поставив знак комментария (точка с запятой —
Сохраняем файл, закрываем и производим перезапуск сервера (меню сервера, пункт «перезапустить»). Проверяем работает ли отладчик. Для этого выбираем в меню пункт «Дополнительно → Информация PHP» (или вводим руками в браузере адрес С сервером на этом все. Настройка домена для разработкиНастраиваем папку для будущего тестового сайта. Для этого переходим в одну из подпапок OpenServer'а — [На самом деле шаг создания дополнительного локального домена можно было пропустить, но нам в последующем будет гораздо удобнее вводить в браузере Проверяем - вводим адрес Установка CMF CotontiСкачиваем актуальную версию с http://www.cotonti.com/download/. Сейчас это версия 0.9.14. Распаковываем содержимое архива в предварительно созданную папку Выбираем язык (для примера русский), жмем далее, там проверка на минимальные требования (все должно быть ОК), далее вводим имя пользователя и пароль для доступа к БД (по умолчанию это mysql / mysql ). [Продвинутым пользователям для безопасности рекомендую заранее сменить стандартные пароли через настройки сервера, и создать дополнительного пользователя для разработки. Как это сделать можно прочитать в справке OpenServer.] Жмем далее, система создаст БД. Теперь вводим данные будущего администратора. (Для примера admin / admin, вам рекомендую вводить, что-то свое). В поле адреса вводим емейл (можно свой реальный, можно выдуманный, т.к. все письма все равно останутся на вашем тестовом сервере и в реальную сеть не попадут). Далее, по вкусу выбираем плагины для установки. Далее установить. После установки вы должны увидеть главную страницу сайта. Можно войти под записью админа, чьи данные (admin / admin) мы только что вводили. Посмотреть и настроить админку при необходимости — подробнее см. на сайте Cotonti.. Установка IDE NetBeansИдем на https://netbeans.org/downloads/ качаем сборку Запускаем NetBeans через ярлык в меню «Пуск» (или иным удобным для вас способом). Настройка проекта для разработкиТут вынесена за скобки информация по созданию собственного плагина (см. оф. сайте Cotonti.com, в том числе раздел «Разработка плагина»). Сосредоточимся на запуске отладчика скриптов, пошаговый прогон выполнения кода CMF, просмотр определенных переменных. В последующем вы можете все эти же навыки использовать и для работы над кодом собственного плагина. Первое, что надо сделать в IDE, это создать новый проект, который будет отражать код и содержимое нашего тестового сайта (
Настройка параметров отладчикаТеперь самое главное — попробуем запустить сайт в режиме отладки. Что это нам даст? Мы сможем отслеживать выполнение любой строчки кода последовательно с начала и до конца, или интересующий нас фрагмент, установив точку остановки. Для начала проверим настройки для отладки в самой IDE NetBeans — меню Закладка Закладка Отладка скриптов сайта при разработкеНачнем отладку. В Cotonti почти все вызовы страниц происходят через единую точку входа — файл index.php, который находится в корне сайта. С него и начнем. Открываем его, выбрав в дереве проекта в окне слева. Если посмотреть на код, то видно что в начале идет проверка на режим установки (install), потом загрузка файла настроек Однако основные переменные движка начинают формироваться в файле Если все настроено правильно запустится процесс отладки — вы увидите экран браузера и страницу с иконкой загрузки. Но сама страница не отобразиться, потому, что программа остановлена отладчиком в указанной нами точке (строка 37 файла index.php): В верхней панели становятся доступны кнопки управление процессом отладки — остановить процесс отладки ( Будем выполнять код пошагово - нажмем Таким образом можно сделать остановку в любом месте кода, установив точку остановки в нужном файле или функции. Аналогично можно отлаживать код любой страницы CMS. Например нажмите ссылку «пользователи» на главной странице и вы попадете на отладку страницы списка пользователей (т.к. вход у нас происходит через единый файл, а точку остановки мы не сняли). Можете переключиться в IDE и продолжить пошаговое выполнение. На этом все. Основный принципы живой отладки описаны.
На самом деле в сети множество описаний-инструкций на русском по работе в IDE NetBeans. Ищите, изучайте. Удачи!
Этот файл в GitHub Gist - https://gist.github.com/macik/7420635 https://github.com/macik
правильный хостинг — https://goo.gl/fjCa1F |
|
This post was edited by Macik (2014-02-05 04:59, 11 years ago) |
Wadik |
|
---|---|
Спасибо! Еще бы про GIT написать (хотябы установку и основные команды) и цены бы не было))) |
Kabak |
|
---|---|
Спасибо. Жаль что про Denwer не написали. Буду пытаться переходить на Open сервер Проблема с ручным управлением и доменом my-cot Если включаю просто ручное управление, то сервер не запускается. Если Ручное+ Автопоиск включается, но не могу в браузере зайти по имени домена my-cot только по прямой ссылке http://localhost/cotonti_test/ Помогите разобраться, пожалуйста. |
|
This post was edited by Kabak (2013-11-12 12:42, 11 years ago) |
Macik |
|
---|---|
#38451 Kabak: А что серввер пишет когда не запускается? Посмотрите файл `openserver\userdata\temp\config\httpd.conf `, там должны быть строки типа ServerRoot "C:/porta/openserver/modules/http/Apache-2.2.25" DocumentRoot "C:/porta/openserver/domains/" и ближе к концу настроки для виртуальных хостов: #---------------------------------------------# # Начало блока конфигурации HTTP хоста # #---------------------------------------------# <VirtualHost 127.0.0.1:80> DocumentRoot "C:/porta/openserver/domains/localhost/cotonti_test" ServerName "my-cot" ServerAlias "my-cot" <IfModule alias_module> ScriptAlias /cgi-bin/ "C:/porta/openserver/domains/localhost/cotonti_test/cgi-bin/" </IfModule> <Location /openserver/server-status> SetHandler server-status </Location> </VirtualHost> Какие значения у вас там сотят? Возможно у вас нет доступа на запись в системный файл Windows (обычно находится здесь: C:\Windows\System32\drivers\etc\hosts ). Если все нормально, то OpenServer добавит туда запись для сопоставления вируального хоста локальному IP адресу: # Start Open Server 4e6a70397d0b3334585b81d50caf70ec_hosts 127.0.0.1 my-cot # End Open Server 4e6a70397d0b3334585b81d50caf70ec_hosts Можете попробовать внести эту запись вручную.
Если нет доступа на запись или по другим причинам все-таки не получится настрить, то можно не прописывать виртуальные хосты вообще, а использовать подпапки (как это сделано с И так как сайт оказывается установленным в подпапку домена localhost, то надо внести соответствующие подпапке коррективы в настройки сайта и IDE (скриншоты под ссылками):
https://github.com/macik
правильный хостинг — https://goo.gl/fjCa1F |
Kabak |
|
---|---|
Странно, на работе под XP проблема есть ( Сервер просто в трее выдаёт сообщение о невозможности запуска - коротко и ясно) Дома под Windows 7 проблемы нет. Попробую посмотреть завтра на работе. В любом случае, спасибо вам за подробное описание настроек. Благодаря вам, я разобрался как настроить Denwer и NetBeans для отладки Cotonti. Всё заработало. Спасибо. |
|
This post was edited by Kabak (2013-11-12 19:31, 11 years ago) |
Macik |
|
---|---|
#38459 Kabak: Отлично! Это и есть моя цель. https://github.com/macik
правильный хостинг — https://goo.gl/fjCa1F |
Kabak |
|
---|---|
Добрался до работы... При ручном запуске сервер пишет в трее "Сбой запуска". в `openserver\userdata\temp\config\httpd.conf ` вообще нет ни одного файла. Может вышлите httpd.conf файл который должен быть с содержимым ? в C:\WINDOWS\system32\drivers\etc\host доступ на запись открыт и в нем не прописано в localhost\cotonti_test\.htaccess тоже не содержит ничего толкового AddDefaultCharset Off <IfModule dir_module> DirectoryIndex index.php </IfModule> Просто хочу разобраться с Open Server и XP. почему у меня не работает на работе ( |
|
This post was edited by Kabak (2013-11-13 07:01, 11 years ago) |
Macik |
|
---|---|
#38461 Kabak: Проверил на WinXP-Sp3 все работает Значит проблема в вашем окружении (настроках системы). Если сервер не запустился, то и файлов настроек он еще не создал. Вопрос почему не запускается. Возможные причины:
Посмотрите логи (меню управления→Просмотр логов). Для начала смотри вкладку `Основной` — там общий ход загрузки. В номральном режиме должно быть: 2013-11-13 00:56:37 Запуск MySQL-5.5.29 2013-11-13 00:56:37 Запуск Apache-2.2.23 2013-11-13 00:56:37 Проверка состояния сервера 2013-11-13 00:56:44 Веб-сервер успешно запущен! Возможно на каком-то этапе лог прирывается, значит на нем и проблема. Например если застопорились на mysql, то смотрим лог mysql (см. соотв. закладку `БД отладка`). В общем пробегитесь по всем закладкам (Основной / HTTP отдадка / БД отдадка) и посмотрите на предмет подозрительных сообщений.
https://github.com/macik
правильный хостинг — https://goo.gl/fjCa1F |
Kabak |
|
---|---|
Да, но в автоматическом режиме сервер работает. т.е. что-то мешает только ручному режиму и DNS my_cot - http://localhost/cotonti_test/ Спасибо, буду разбираться... |
Macik |
|
---|---|
#38467 Kabak: Да. Но теоретически проблема может быть отражена в логах. https://github.com/macik
правильный хостинг — https://goo.gl/fjCa1F |
Kabak |
|
---|---|
иллюстрации мешали очень ? Верните, пожалуйста, статью в предний, нормальный, вид. В чём может быть косяк, если отладчик после запуска отладки шагает по index.php, но не останавливает выполнение кода и броузер начинает жить своей жизнью - не ждёт отладчика, если отладчит вышел из index.php ? |
|
This post was edited by Kabak (2014-02-05 04:38, 11 years ago) |
Macik |
|
---|---|
#39151 Kabak: Скажите спасибо ГитХабу — это он тупит. :) Перезалил на собственный хостинг (но тоже без гарантии).
Точки останова стоят? Не понял на счет не ждет. Если стоят остановки, то курсор должен останавливаться на соотв. строке, а браузер в этот момент показывать белый лист… https://github.com/macik
правильный хостинг — https://goo.gl/fjCa1F |
Kabak |
|
---|---|
Да, точки стоят, но не в них дело. Броузер должен ждать ответа от отладчика, например, я в броузере нажимаю LOGIN и пока в отладчике я не прошагаю по всем строкам или не нажму F5 - выполнение. И отладчик должен открывать файлы где стоят точки останова, но не открывает, после 1-го прохода по index.php А тут получается что броузер ждёт пока я не пройдусь после старта по index.php и потом уже не ждёт ничего и работает как будто я не запускал отладку. Если прикратить отладку, то броузер выводит сообщение что отладка закончена, но он не управляется отладчиком. Добавлено 11 часа спустя: Что-то глюкануло в связке Open Сервера и инсталятора Cotonti. Снёс Cotonti, установил под новым именем, и убрал на сервере ручной домен. Всё ожило под новым именем... не знаю что произошло. Поставил кота 9.14 |
|
This post was edited by Kabak (2014-02-05 17:32, 11 years ago) |
Macik |
|
---|---|
Не знаю в чем глюк, но у меня периодически такое бывает в Eclipse IDE. Включаешь дебаг сессию какое-от время все ок (може полчаса). А потом аналогично не ловит точки останова, как будто и не включена отладка. Такое впечатление как будто бы сессия отладки «протухает». Приходится останавливать отладку и перезапускать ее по новой. (В ринципе не проблема 2 кнопки нажать, но раздражает.) https://github.com/macik
правильный хостинг — https://goo.gl/fjCa1F |
Kabak |
|
---|---|
С Сервером Denver такая ситуация изначатльно. После вашей помощи я настроил Denver, но Denver из такого состояния и не выходит на нормальную пошаговую работу отладчика, - после прохода по index.php, после старта отладки, броузер улетает в вольное плавание, равно как и шагание по строкам в NetBeans. |