-
Pick the Alphabet to Suit the Reader: Damm64 and Damm93 Joins Damm32
damm64 (base64url) and damm93 (visible ASCII without the backslash) join damm32 as Damm check digit libraries in C, PHP and JavaScript. Which to use depends on who has…
-
Easy Protection of File Downloads in WordPress
I recently wanted to protect some files from unauthorised download on a WordPress site, but still allow authorised users to easily access the files. The simplest solution I found…
-
Base32 implementation of the Damm error detection algorithm in PHP
Update — 1 November 2026: The Damm32 repository was modernised on 21 October 2026. Version 2.0.0 includes matching C, PHP and JavaScript implementations, a reusable C library, command-line…
-
(104)Connection reset by peer: mod_fcgid: error reading data from FastCGI server
This error (104)Connection reset by peer: mod_fcgid: error reading data from FastCGI server started to appear in my apache error log whenever I tried to upload a file.…
-
pear.php.net is using a unsupported protocol – This should never happen.
I ran into the error "pear.php.net is using a unsupported protocol - This should never happen." when I tried to upgrade my pecl packages. I have to say…
-
How to set cookies using PHP and get them via JavaScript
I had an application where I wanted to set a cookie value using the php setcookie function and then later pull out the value using JS. The problem…
-
Root privilege scripts from Apache
If you have a script that needs to access functions that can only be run as root (e.g. chmod, chgrp, mkdir, etc) you will find that you can't…
-
Random PHP string
I needed to generate a random 32-character hexadecimal string in PHP. In PHP 7 and later, use random_bytes() to generate 16 random bytes and bin2hex() to encode them:…
-
PHP number_format function problem
I have been using the php number_format() to format currency values in my code and was recently caught by the thousand separator comma. If you use the function…