3 ms·
This was a huge upgrade. PHP <6 + MySQL 5 to the latest versions of everything (except substituting MySQL for Maria). A whole variety of scripts that used cons
by selfhoster11 4y ago
This was a huge upgrade. PHP <6 + MySQL 5 to the latest versions of everything (except substituting MySQL for Maria).
A whole variety of scripts that used constants without quoting (`CONSTANT_NAME`), which later became a problem because the language mandated them in quotes (`'CONSTANT_NAME'`). We were finding those in various places literally months later.
mysql_ family of functions was gone from PHP, so we had to patch files to include a "polyfill" snippet to translate those calls to mysqli_
MySQL (/MariaDB) itself was another idiot-fest because of the way it handles Unicode. This is a slightly too long story and would risk doxxing myself, so I will simply give you some highlights, and then ask you to imagine that everything that could go wrong, did go wrong:
1. MySQL storage engines have a fixed upper limit on how long an index can be for each row. For 4-byte UTF-8, that is an upper limit of 768 characters.
2. MySQL defaults to utf8mb3 rather than utf8mb4.
3. Unicode characters in column names are rarely a good idea.
Apache, surprisingly, went relatively fine. I really don't like the ancient way it does things, but it's serviceable if you're fine with banging your head against the wall to do something that seems like it would obviously work.