Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Пошук по сайту

Результати пошуку за тегами 'xdebug'.

  • Пошук за тегами

    Введіть теги через кому.
  • Пошук по автору

Тип публікацій


Категорії і розділи

  • Основний
    • Новини та оголошення
    • Пропозиції та побажання
    • Акції, подарунки, конкурси та винагороди
  • Opencart 4.x
    • Opencart 4.x: Загальні питання
    • Opencart 4.x: Встановлення та оновлення
    • Opencart 4.x: Локалізація
    • Opencart 4.x: Налаштування та оптимізація
    • Opencart 4.x: Пісочниця
    • Opencart 4.x: Пошук модулів
    • Opencart 4.x: Звіти про помилки
  • Opencart 3.x
    • Opencart 3.x: Загальні питання
    • Opencart 3.x: Встановлення та оновлення
    • Opencart 3.x: Локалізація
    • Opencart 3.x: Налаштування та оптимізація
    • Opencart 3.x: Пісочниця
    • Opencart 3.x: Пошук модулів
    • Opencart 3.x: Звіти про помилки
  • Opencart 2.x
    • Opencart 2.x: Загальні питання
    • Opencart 2.x: Встановлення та оновлення
    • Opencart 2.x: Локалізація
    • Opencart 2.x: Налаштування та оптимізація
    • Opencart 2.x: Пісочниця
    • Opencart 2.x: Пошук модулів
    • Opencart 2.x / ocStore 2.x: Звіти про помилки
  • Реклама і просування
    • SEO-питання (оптимізація та просування магазину)
    • Контекстна реклама
    • Торговые площадки
    • E-commerce tracking и бизнес аналитика
    • Разное
  • Підтримка та відповіді на запитання.
    • Загальні питання
    • Встановлення, оновлення, налаштування
    • Шаблони, дизайн та оформлення магазину
    • Модулі та розширення
    • Допомога програмістам та розробникам
    • Мобильная витрина
    • Питання безпеки
    • Переклад
    • Отчёты об ошибках
    • Интернет-магазины и электронная коммерция
    • Песочница
  • Послуги
    • Створення магазинів під ключ
    • Дизайн, верстка та шаблони
    • Програмування, створення модулів, зміна функціональності
    • Налаштування та дрібна робота по вже існуючому сайту
    • Оновлення версії двигуна магазина
    • Наповнення магазину
    • Системне адміністрування (налаштування хостингу, серверів, ПЗ)
    • Інші послуги
  • Разное
    • Пользовательские обзоры дополнений
    • Примеры сайтов на OpenCart (ocStore)
    • Курилка
    • Предложения по улучшению

Категорії

  • Шаблони
    • Безкоштовні шаблони
    • Платні шаблони
  • ФІльтри
  • Цены, скидки, акции, подарки
  • Реклама та просування
  • Бонуси, купони, програми лояльності
  • Блоги, новости, статьи
  • Покупки, оформление заказа, корзина
  • Опції
  • Атрибуты
  • Серии, Комплекты
  • Поиск
  • SEO, карта сайта, оптимизация
  • Кэширование, сжатие, ускорение
  • Платіжні системи
  • Доставки
  • Редакторы
  • Меню, дизайн, внешний вид
  • Слайдшоу, баннеры, галереи
  • Письма, почта, рассылки, sms
  • Обратная связь, звонки
  • Обмен данными
  • Учет в заказе
  • Сравнения, закладки
  • Социальные сети
  • Парсеры
  • Модули
  • Инструменты, утилиты
  • Лицензии
  • Локалізації
  • Інші розширення
  • Отчеты
  • Збірки
    • ocStore
  • Послуги
    • Графика и дизайн
    • Маркетинг

Категорії

  • Служебные документы
  • Оплата
  • Документація Opencart

Категорії

  • Загальні питання
  • Купівля доповнень
  • Для розробників
  • Акаунт
  • Технічна підтримка
  • Фінансовий відділ

Категорії

  • Інтерв'ю
  • Статті

Блоги

  • Konorws (Разработка и модификация Opencart)
  • Блог mr.Kent)
  • Прожектор Бритни Спирс
  • Layk
  • Продвижение интернет-магазина, seo оптимизация
  • Записная книжка
  • Блог RGB
  • Модули которые сделают сайт лучше
  • Блог веб-студии NeoSeo
  • Useful IT
  • Записи
  • Найденные решения проблем с Opencart
  • ocdroid blog
  • Заметки на полях...
  • Pimur
  • Серж Ткач
  • О жизни, смерти, о бизнесе и Опенкарте
  • Просто мысли от laim731
  • Маркетинг и продвижение интернет-магазина
  • Мой копирайтинг
  • SEO боксинг специального назначения
  • Get-Web Dev
  • Seok
  • Блоги sitecreator-а
  • Best practice
  • Vlad-Egorov-Blog
  • Блог spectre
  • commanddotcom
  • Внимание мошенники
  • Наблюдения обычного человека
  • Блог Rassol2
  • Блог Exploits
  • блог для натуралов
  • Настюша, тут есть темы
  • Пропитано рекламой
  • Tutorial
  • ОтВинта
  • Tg chnls
  • Блог
  • Блог sv2109
  • КАК ОРГАНИЗОВАТЬ НОВОСТНЫЕ ПОДПИСКИ НА БАЗЕ API OPENCART 3/0/2
  • VDS/VPS, серверы под Linux: установка, настройка, оптимизация
  • IT блог
  • Блог
  • Opencart SEO
  • Путёвые заметки о работе магазина NiceBike на платформе OpenCart
  • Blondi Blog
  • Полезные статьи, новости.
  • Блог владельца магазина
  • разное
  • ПРОДАЖА АКАУНТОВ-binance ВЕРИФИЦИРОВАННЫe ЧИСТЫЕ УСПЕВАЙТЕ КУПИТЬ ПО НИЗКОЙ ЦЕНЕ
  • Диспансеризация
  • wozobat
  • quasarbyte
  • Мой блог
  • Igorych
  • aaaaa
  • 👌🔊Bellsouth CUSTOMER support number 1+(8O8)678=9O64-☎phone number
  • Liudmila marketer
  • Заметки реалиста
  • ocstore на ноліках
  • Про Opencart
  • Блог про рутинні процеси в магазині на ocsote
  • Radaevich
  • Плагіни Opencart
  • Крафтовий OpenCart: Старт пригоди. Ціна створення сайту на Опенкарт
  • Щось про щось
  • Від власника до розробника

Шукати результати в ...

Шукати результати, які ...


Дата створення

  • Почати

    Кінець


Останнє оновлення

  • Почати

    Кінець


Фільтр за кількістю ...

З нами

  • Почати

    Кінець


Група


Сайт


Skype


Місто:


Інтереси

Знайдено 2 результата

  1. Если вы до сих пор в качестве тестовой среды используете OpenServer или Хостинг+FTP, а единственным инструментом для дебага является var_dump, то самое время попробовать Docker и xDebug. Docker - ПО для запуска сервисов в изолированных контейнерах. Т.е. для запуска приложения мы можем создать необходимое количество контейнеров: веб-сервер, интерпретатор PHP, запустить базу данных. Нам не нужно захламлять систему всеми этими сервисами, все будет установлено внутри докера. При этом мы можем использовать для разных проектов разный набор версий php, mysql и т.д. В отличии от полноценных виртуальных машин (VirtualBox + Vagrant) нам не нужно скачивать образ операционной системы и ставить каждый раз полноценные версии сервисов. В докере используются облегченные версии ПО и если в одном проекте вы уже использовали PHP 7.3, то для другого проекта не нужно будет ничего качать и заново пересоздавать. Вместе с Docker мы будем использовать дополнительный инструмент од названием Docker Compose. Он помогаем с помощью одного конфигурационного файла управлять группой контейнеров. Вместе с Docker мы будем использовать дополнительный инструмент од названием Docker Compose. Он помогаем с помощью одного конфигурационного файла управлять группой контейнеров. Что мы установим для нашего проекта: PHP-FPM 7.3 Nginx MySQL 5.7 Adminer С докером определились, он поможет за 5 минут создать тестовое окружение с нужным набор сервисов. XDebug - дополнение к PHP, которое помогает производить отладку и профилирование кода. В статье будет описана работа совместно с IDE: PhpStorm и VS Code. Приступим к практике. Установка Docker Docker: https://docs.docker.com/get-docker/ Docker Compose: https://docs.docker.com/compose/install/ Надеюсь, git у вас уже установлен (если нет, читайте блог https://opencartforum.com/blogs/entry/326-git-i-opencart-dlya-samyh-malenkih). Переходим в директорию проекта и клонируем репозиторий: git clone [email protected]:ozzzi/docker-opencart.git . В данном репозитории содержится конфигурация для запуска Opencart. Структура директорий: db - файлы базы данных hosts - конфигурационный файл nginx. Конфигурационный файл настроен на использование домена oc.dev images - файлы для создания образов Dockerfile - файл конфигурации образа php.ini - конфиг PHP mods - директория для загрузки конфигов дополнений logs - логи различных сервисов. По умолчанию настроен только лог для Nginx .env - переменные окружения (в нем хранятся конфиги для MySQL). docker-compose.yml - конфигурационный файл Docker Compose Разберем файл docker-compose.yml services - список сервисов (контейнеров). Для каждого сервиса (nginx, mysql и т.д.) принято создавать отдельный контейнер. Список основных директив: image - образ для создания контейнера. Образы хранятся тут: https://hub.docker.com build - путь к Dockerfile для создания кастомного образа. Например, для PHP нам нужно установить ряд дополнений, поэтому нам нужно создать собственный образ. MySQL, Nginx мы вполне можем использовать без изменений. container_name - имя контейнера ports - пробрасываем порты из контейнера на порты локального компьютера (порт компьютера:порт контейнера). volumes - связываем папки на локальном компьютере и директории в контейнере. Используем для пробрасывания конфигов и файлов в контейнер, а также для сохранения данных сервисов в контейнере после перезагрузки (базы данных и т.д.). Перейдем к настройке PHP в Dockerfile-е. FROM - импортируем базовый образ из docker hub. RUN - запускаем консольные команды Linux внутри контейнера для установки нужных пакетов: curl, zip и т.д. ADD - импортируем файлы конфигов php и конфиг xDebug в контейнер WORKDIR - рабочая директория Команды для управления нашими контейнерами: docker-compose up - запуск контейнеров docker-compose up -d - тоже самое, но можно не держать открытым окно терминала docker-compose up -d --build - собираем проект и запускаем, после внесения изменений также нужно запускать с данным ключем. docker-compose stop - останавливаем контейнеры docker-compose down - останавливаем и удаляем контейнеры docker-compose ps - выводит список запущенных контейнеров Установка опенкарт Файлы движка нужно закинуть в директорию www/oc.dev. Чтобы домен был доступен по адресу oc.dev, нужно править файл hosts: Ubuntu: sudo gedit(ваш текстовый редактор) /etc/hosts Windows: windows\system32\drivers\etc\hosts Вносим запись: 127.0.0.1 oc.dev Данные для доступа к базе данных хранятся в файле .env (название базы, пользователь и пароль), а в качестве имени хоста мы используем имя контейнера базы данных: db. Устанавливаем Opencart как обычно. сли у вас есть проблемы с доступом к файлам и папкам (логи, кеш), вам помогут эти команды: sudo chown -R $USER:$USER directory - устанавливает текущего пользователя владельцем директории (в контейнере скрипты исполняются от пользователя www-data) sudo chmod -R 777 directiroy - права 777 для директории Настройка xDebug Файлы конфигурации хранятся по адресу: /images/php/mods/xdebug.ini Здесь нас интересует одна опция xdebug.remote_host. В ней нужно указать ip-адрес контейнера. Для Windows и Mac можно указать равным host.docker.internal Для Linux на запущенном контейнере набираем в консоли: docker inspect php-fpm | grep IPAddress Полученный IP прописываем в конфиг xdebug.ini, в моем случае: xdebug.remote_host = 172.25.0.2 (или 172.25.0.1, если не заведется отладчик) Остановим и перезапустим наши контейнеры с опцией --build. Настройка PHPStorm для работы с xDebug 1. Заходим в меню Run/Edit Configuration. Добавляем тип конфига "PHP Remote Debug" 2. Нужно добавить Server Name - имя сервера вводим любое. Нужно поставить галочку Use path mappings, значения должны быть такими: слева (File/Directory) - путь до папки на локальном компьютере, куда копировали Opencart. справа (Absolute path on the server) - путь внутри контейнера: /var/www/oc.dev 3. Заполняем название конфигурации (любое). Вносим метку, на которую будет реагировать IDE: PHPSTORM. 4. Проверим работу xDebug нажатием на ссылку Validate. Приступаем к отладке Для примера мы хотим узнать, какие модули отображаются на главной странице в позиции Top. Открываем файл catalog/controller/common/content_top.php. Нас заинтересовала строка 49, в которой можно посмотреть код модуля. Возле номера строки ставим точку остановки (Breakpoint) левой кнопкой мыши. Чтобы вызвать работу отладчика выбираем конфигурацию, которую мы добавилил в 3-м пункте, жмем на Debug 'Docker' (зеленый жук) в панели справа,сверху и включаем прослушку Start Listaning for PHP Debug Connections (трубка). Обновляем главную страницу сайта. Должен сработать отладчик и вы увидите: Окно отладки: 1. Данной кнопкой можно поменять брекпойнты и вернуться назад к отладке. 2. Кнопка просмотра точек остановки. 3. Синие стрелки вверх/вниз позволяют пробегать построчно по коду (вверх/вниз) 4. Все доступные переменные на момент остановки скрипта. 5. Стек вызова - можем проследить полный путь вызова. В окне отладки мы видим все доступные переменные в указанной нами точке. Мы поставили точку в цикле и скрипт останавливается в первой итерации. Но если мы хотим посмотреть значения переменных в определенной итерации, нажмем правой кнопкой мыши на точке остановки и зададим условие для ее срабатывания. В моем случае остановимся, когда отображается модуль Featured. Настройка VS Code для работы с xDebug 1. У вас должно быть установлено дополнение PHP Debug 2. Breakpoints ставятся возле нумерации строк. 3. Включаем окно отладки (Ctrl + Shift + D) и нажимаем на ссылку create a launch.json file. Код launch.json { "version": "0.2.0", "configurations": [ { "name": "Listen for XDebug", "type": "php", "request": "launch", "port": 9000, "log": true, "externalConsole": false, "pathMappings" : { "/var/www/oc.dev/": "${workspaceFolder}" } } ] } 4. Отладка: Запуск отладчика Панель управления. Здесь также можно остановить и обновить отладку, а также пробежаться по строчкам кода. Здесь отображаются все переменные. Стек вызова. Надеюсь, что эти советы помогут вам вести более продуктивную разработку и отладку кода.
  2. Какой-то косяк с дебагом, не могу понять в чем дело. Пытаюсь дебажить xDebag+phpStorm или var_dump(),/print_r(). Например, в этих файлах \catalog\model\catalog\product.php и \catalog\controller\product\search.php xDebug брикпоинты игнорирует и не останавливается, var_dump(), print_r() тоже не выводят переменные. А в этих файлах \catalog\controller\startup\router.php, \system\storage\modification\system\engine\loader.php и брикпоинты срабатывают, и var_dump(),/print_r(). Как дебажить контроллеры и модели? Намекните, плиз, в какую сторону копать? xDebag+phpStorm с такими же настройками нормально работает на других cms, на ocStore 1.x тоже проблем, вроде, раньше не было.
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.