Настройка среды php-разработки с нуля на NetBeans + php + docker + xdebug3

Привет. Это здоровенный мануал-шпаргалка по настройке этой IDE для php-разработки. Здесь будет много текста и картинок.

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

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

Версия Netbeans на сию секунду — 24.

В этой статье я установлю NB, настрою его, разверну тестовый проект с php8.3 и xdebug3 на контейнерах и настрою отладку php-скриптов в разных позах.

Я обкатал стек на двух ПК, так что сетап проверен.

Немного про графические оболочки на Linux и за что я в итоге полюбил KDE

Photo by Nayam on Unsplash

Пост про поиски и вкусовщину.

Я уже упомянул, что перелез на KDE на обоих своих компах, и дома, и на работе. Но этому предшествовал долгий поиск того самого, единственного.

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

А силёнок у него было немного, зато ALT Linux 6 (а может и 7, не помню) с иксфейсом (xfce) вполне годно вытягивал огнелиса с мультимедией. Большего от него не требовалось.

Тогда я пробовал чем-то заменить xfce, но это было зря — ноут не вытягивал. Это всё, что я помню.

DavFS2. Куда утекает свободное место? Got error 28 from storage engine

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

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

Однажды утром, после свежего бекапа, MySQL стал падать с ошибкой:

Got error 28 from storage engine

Эта ошибка возникает во время выборки записей из БД. Поскольку выборка хранится в кеше на диске и в этот момент возникает ошибка, значит что-то с ним не так. Самое банальное — закончилось место. По факту так и оказалось. MySQL-у просто негде было хранить файлы кеша.

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

Резервное копирование базы данных на Cron с выгрузкой в облако на примере Яндекс.Диск. Версия 1.

Привет.

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

Он приведён поэтапно, можешь скопировать пункты 4.1-4.5, убрав оттуда заголовки, и получишь готовый скрипт. Или можешь скачать, ссылка будет в конце. А лучше прочитать пост и вникнуть в суть происходящего.

ОС на сервере — CentOS 6.7
Версия СУБД — MySQL 5.5 (да, знаю, старая)

Запускаем GIT GUI и GITK на виртуальной машине Битрикс CentOS 6.7

В комплекте с git есть две гуёвые (gui, с графичеким интерфейсом) утилиты. Одна вызывается по команде git gui и позволяет работать над текущим коммитом: управлять индексом файлов, просматривать изменения, делать, собственно, коммиты (в т.ч. amend), push и pull изменений мержить ветки… Ну, думаю, тут понятно: стандартный ежедневный функционал.

Gitk же даёт возможность просматривать истории веток, изменения в коммитах и вообще всю информацию по ним. Удобная штукенция для любителей ткнуть мышкой и получить кучу полезной инфы вместо набора команд в консоли.

В сущности, конечно же, эти утилиты полностью повторяют функционал git’а консольного (иначе это было бы странным): gitk это git log —graph, а git gui объединяет команды merge, commit, pull, push и так далее.

Когда я об этом узнал, сразу, конечно, заинтересовался как такое можно провернуть на битриксовском виртуальном сервере, который вертится в VirtualBox на CentOS 6.7 безо всяких графических оболочек. Гит для меня вообще штука относительно новая, я пользуюсь им (если глянуть по первым моим коммитам) с 13 марта сего года исключительно в консоли (если быть точным, то через SSH в PuTTY, о чём в конце). Были некоторые проблемы с мержем и синхронизацией коммитов с удалённым репозиторием, но всё решалось успешно, да и шишек набить успел, что хорошо.

Тут я вкратце поведаю как установить запустить на виртуальной машине Битрикс-сервера… то есть на CentOS графическую оболочку и пощупать заветные git gui и gitk.
Следует сначала дочитать сей опус до конца, а не выполнять действия по ходу первого чтения.