4 ms·
As someone who recently did a large classic LAMP migration: nope. Lots of things to break.
by selfhoster11 4y ago
As someone who recently did a large classic LAMP migration: nope. Lots of things to break.
- XCSme 4y agoWhat exactly broke? With migrations there might be stuff like httpd.conf or mysqld.conf that don't get properly copied. But if everything stays on the aame machine, thinks rarely break by themselves, even when upgrading the OS, database, PHP version or web server.
- selfhoster11 4y agoThis 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.