Serving self-hosted Invoice Ninja with Caddy

Invoice Ninja is an open-source platform which helps you take care of clients, invoices, payments, expenses, time-tracking, and more… In this guide I explain how you can run Invoice Ninja on your own server with Caddy and PHP-FPM. Prerequisites MySQL Server up and running PHP-FPM up and running I assume that you have already setup […]

An introduction to PHP 7 type declarations

PHP 7 introduced a feature everyone was waiting for: typing. This solves a lot of bugs/problems caused by wrong types passed to function or returned by functions. Strict typing vs type coercion Before I introduce the actual typing of arguments or return values, I must explain PHP’s behaviour when types don’t match. By default PHP tries […]

Migrating/updating from PHP 5 to PHP 7 on OS X (MacPorts)

PHP 7 was released earlier this month, time for me to upgrade my development environment to keep up to date with this new version. I had already installed PHP 5.6 using MacPorts, so this guide is about upgrading a PHP 5 installation to a PHP 7. If you need help for actually installing PHP/Apache/MySQL, read this […]

Caddy Server and WordPress (PHP-FPM)

Update: I added rewrite rules for WordPress permalinks to the Caddyfile. I also removed all unnecessary bits which are not needed anymore since Caddy now has built-in HTTPS support with Let’s Encrypt. Recently I discovered an amazing open source project: Caddy, a fully functional HTTP/2 webserver, written in Go. Caddy is a lightweight, general-purpose web server for […]

Installing MAMP (Mac OS X Apache MariaDB PHP) using MacPorts

Update: I updated the blogpost for PHP 7 instead of PHP 5. If you want to update your current PHP 5 installation to a PHP 7 installation, see this blogpost: Migrating/updating from PHP 5 to PHP 7 on OS X (MacPorts). MacPorts is a BSD ports like package management system for OS X. The MacPorts Project is […]

PHP: Unit tests with Travis, PHPUnit and Composer

In a perfect world, every software developer writes tons of unit tests, and uses continuous integration to make sure everything keeps working. Travis, PHPUnit and Composer are there to save you a lot of time! In this blogpost I will explain how to setup Travis and run PHPUnit to run unit tests in a PHP project […]