Local Multi-Domain Kubernetes for Development with Ubuntu + WSL2 + Docker Desktop

Hits: 157

Installation

WSL2 installation on Windows

Install Ubuntu on WSL2 on Windows

Docker Desktop Download

Configuration

After the Docker Desktop installation we need to enable the following WSL integrations at Docker Desktop:

  • Settings > General > check Use the WSL 2 based engine
  • Settings > Resources > check Enable integration with my default WSL distro
Continue reading “Local Multi-Domain Kubernetes for Development with Ubuntu + WSL2 + Docker Desktop”

PHP Profiler SPX – A Another Simple Profiling Tool

Hits: 58

SPX is a PHP Extension for Profiling, also open source, very simple, multimetric capable and with out-of-box web UI for listing, sorting and report details.

For installation, we need to build our extension. We can of course put the building phases directly into our Dockerfile, but I want to know, what things (extension file, webUI Files and configuration changes) need to come through the extension. For this reason, I make a seperate build process in my Dockerfile and copy everything this extension needs.

I follow the steps from official documentation (Timestamp: 20.05.2022), please check, if new or old steps were published, after this blog article)

Continue reading “PHP Profiler SPX – A Another Simple Profiling Tool”

Dockerfile for PHP 8.1 with Apache and XDebug3

Hits: 4835

FROM php:8.1.1-apache

RUN echo "Europe/Berlin" > /etc/timezone && dpkg-reconfigure -f noninteractive tzdata

ENV APACHE_DOCUMENT_ROOT /var/www/html/web

RUN  apt-get update && apt-get install -y ca-certificates gnupg
RUN curl -fsSL https://deb.nodesource.com/setup_16.x | bash -

RUN apt-get update && apt-get upgrade -y && apt-get install -y git nodejs

RUN sed -ri -e 's!/var/www/html!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/sites-available/*.conf
RUN sed -ri -e 's!/var/www/!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/apache2.conf /etc/apache2/conf-available/*.conf

RUN /usr/sbin/a2enmod rewrite && /usr/sbin/a2enmod headers && /usr/sbin/a2enmod expires

RUN apt-get update && apt-get install -y libzip-dev zip && docker-php-ext-install zip

RUN docker-php-ext-install pdo pdo_mysql mysqli

RUN apt-get install -y libtidy-dev && docker-php-ext-install tidy && docker-php-ext-enable tidy

RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer

RUN pecl install xdebug && docker-php-ext-enable xdebug
RUN echo 'zend_extension=xdebug' >> /usr/local/etc/php/php.ini
RUN echo 'xdebug.mode=develop,debug' >> /usr/local/etc/php/php.ini
RUN echo 'xdebug.client_host=host.docker.internal' >> /usr/local/etc/php/php.ini
RUN echo 'xdebug.start_with_request=yes' >> /usr/local/etc/php/php.ini
RUN echo 'session.save_path = "/tmp"' >> /usr/local/etc/php/php.ini