Архив метки: PHP

WordPress: использование дочерних тем оформления блога

12 марта 2020
 

 На RTFM с 2016 года используется тема оформления Iconic One (см. RTFM: переезд и смена оформления), но с небольшими изменениями — добавлены отображение даты публикации поста, просмотры, всякие счётчики, правки в CSS темы. Iconic One постоянно развивается и обновляется, и после каждого апдейта приходится все изменения вносить заново — у меня даже есть пост, где… Читать далее »

Linux: создание coredump памяти процесса, systemd-coredump и Debian

10 марта 2020
 

 Возникла необходимость получить дамп РНР-процесса на Debian 9. Рассмотрим механизм ядра, позволящий создать дамп, и настройку создания дампов в Linux. Ниже будем говорить о создании дампа памяти процесса в Linux, а не дампа ядра при kernel panic — там он иной, см. Kdump на Arch Wiki. Linux Core Dump Ядро создаёт дамп памяти процесса, если… Читать далее »

Linux: PHP-FPM, Docker, STDOUT и STDERR — нет логов приложения

17 февраля 2020
 

 Имеется Docker-образ, в который включены NGINX и PHP-FPM, плюс Supervisor для их запуска. В этот же образ включён код PHP-приложения, которое пишет ошибки PHP в /dev/stderr, как задано в php.ini: … [global] error_log=/dev/stderr … Проблема заключается в том, что при выполнении kubectl logs — в выводе этих данных нет. Где проблема? В Docker? Kubernetes? Linux… Читать далее »

PHP: PHP-FPM игнорирует переменные — решения

13 февраля 2020
 

 Имеется PHP приложение, которое для подключения к серверу баз данных использует дефолтные данные из файла /app/.env и переменные окружения. Проблема заключается в том, что приложение не видит переменную $TEST_VAR, хотя в шаблоне Kubernetes пода она задана: … containers: — name: application-dev-web image: bttrm-application:119 … — name: TEST_VAR valueFrom: secretKeyRef: name: bttrm-app-secret key: test_var … Значение… Читать далее »

Debian: php7.3-curl : Depends: libcurl3 (>= 7.44.0) but it is not installable

23 января 2020
 

 Имеется джоба в Jenkins, которая запускает контейнер, и выполняет сборку PHP-приложения на Yii. Во время сборки PHP-приложения — билд падает с ошибкой: … Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been… Читать далее »

PHP: кеширование PHP-скриптов — настройка и тюнинг OpCache

25 декабря 2019
 

 OpCache увеличивает производительность PHP сохраняя уже скомпилированные скрипты PHP в общей памяти, таким образом уменьшая работу для PHP-FPM, которому приходится меньше выполнять загрузку, чтение и обработку PHP при поступлении новых запросов. Workflow обработки новых запросов выглядит так: Исходный код проекта — тут>>>. Enable OpCache Редактируем php.ini файл, в данном примере это будет /etc/php/7.3/fpm/php.ini. Добавляем в… Читать далее »

SonarQube: запуск в Docker и вызов из Jenkins Pipeline

18 июня 2019
 

 Задача — запустить SonarQube, что бы Jenkins выполнял проверку кода. Jenkins работает в Docker, билды запускаются тоже Docker. Основная проблема, которая возникла во время запуска SonarQube из Docker Compose, это то, что контейнер с SonarQube внутри себя запускает процесс с Elastisearch (что, вроде как, нарушает главный принцип использования конейнеров — 1 сервис на один контейнер).… Читать далее »

Jenkins: запуск PHPUnit из Codeception по Pull Reguest в Github и Allure-репорты

6 июня 2019
 

 Задача — запускать PHPUnit для тестов кода бекенда. Сам PHPUnit будет запускаться из Codeception. Задача в Jenkins должна триггериться из Github, при создании Pull Request — используем Github Pull-Request Builder плагин. Для просмотра отчётов о тестах — используем Allure. Jenkins запущен в Docker-контейнере, и все процессы будет запускать в контейнерах. Проверка тестов Что бы получить… Читать далее »

TestRail: QA Test Case Management система — установка на Linux

22 марта 2019
 

 TestRail — Test Case Management Software for QA and Development Teams. Собственно — этого достаточно для описания) Ниже — описание процесса его установки на Debian с NGINX, Let’s Encrypt, PHP-FPM, MariaDB и Exim. Домашняя страница проекта — www.gurock.com/testrail Документация по установке — тут>>>. Устанавливать будем на AWS EC2. LEMP и SSL Логинимся на сервер: Обновляем… Читать далее »

PHP-FPM: Process Manager — dynamic vs ondemand vs static

5 июня 2018
 

 Беглый обзор и примеры для настройки PHP-FPM Process Manager — dynamic, ondemand и static. Я не выполнял нагрузочного тестирования при использовании различных конфигураций, так что все выводы о применимости того или иного подхода чисто умозрительные. Тем не менее — тестирование проводиться, думаю, будет, по возможности — добавлю результаты отдельным постом. pm = dynamic Большинство HowTo… Читать далее »