Server Side

Server related posts

How to put your Docker image on a diet

Docker

I recently delivered a presentation at PHP South West about how to put your Docker image on a diet. The talk mentioned six points that help reduce the size of a Docker image.  The majority of the points focused on improving the Dockerfile and the last point was based on using a .dockerignore file. This post […]

Don’t prioritise controller testing over unit testing

There are lots of types of tests that programmers should perform, unit testing, functional testing, integration testing etc… Often I hear programmers confuse controller testing with unit testing. They see that a functional test offers more code coverage and so they focus on controller testing instead of units of code.

CSS classes in Symfony2 twig labels

Symfony is a PHP framework

A quick PHP tutorial showing how to apply css classes to a Symfony 2 label when rending a twig template. The demonstration covers the differences between rendering normal form controls and labels within a twig template.

In short the label attribute is called label_attr and the field attribute is called attr.
Both can have the same available parameters but the label attribute must be the third parameter of the label control

How to remove a stale PID from a Docker container

Docker

Sometimes my Apache 2 Docker container refused to restart because the previous Apache PID was active.
The error I got was httpd (pid 1) already running in the docker container. Usually this happened after docker-machine refused to shut down properly or the Docker container stopped unexpectedly.
I got around this by writing a simple script that removes the stale PID files from the apache2 Docker container upon startup.
The script has been working without issue for the past month so I’ve decided to share it.

PHPUnit change http host with Symfony

Symfony is a PHP framework

A simple PHP tutorial demonstrating how to change the domain of a phpunit functional test.
This example uses a test written for the Sylius E-commerce framework and changes the domain of a Sylius channel to use a custom host entry.
The default domain is set to localhost but this causes errors when testing against different Sylius channels. This tutorial gives an example of how to overcome this issue by changing the domain within the PHP unit test.