Situation: A very large app that barely made the transition to PHP 5.3 and the change to POSIX that is loaded with REGEX. I'm not that familiar with its code. It looks like the original author was had excellent skills but a lot of people have worked on it over the years so data access methods vary from ADO to MySQL to MySQLi. I have it currently running very well on UNIX/FreeBSD 11.2, Apache 2.4, PHP 5.3 FPM, and MySQL 5.6. Mission: Move the app to Apache 2.4, PHP 8 FPM, and MySQL 8, and Linux. This is a perfect time to me evaluate after some years whether Linux has evolved to the point where it is capable of handling the loads which in the past it has not. Linux is the Windows of the web server world, and can do a better desktop when required than FreeBSD, which enables it to be more developer-friendly which plays out in development tools and expertise, and where people throw code at. If Linux turns out to not be there yet, moving it to a new FreeBSD 13 VM would be trivial. Resources: I have high-end bare metal servers in SoftLayer data centers where I install and maintain our own ESXi infrastructure and have been 100% virtual since 2008 with about every OS. Like everyone else, I assumed CENTOS would forever be the Windows of the web server world, but as we've seen, that all changed in one day. So I've spun up what I determined to be the solidest heir-apparent at this time, AlmaLinux, with Apache 2.4, PHP 8 FPM, MySQL 8, no GUI, and the DirectAdmin control panel. However, I'll do what makes the most sense. If you say for this transition, spin up Window 10 VM, I'll do that. The key thing is it needs to be in a data center where I have a public interface because there are services from around the world where their license is tied to the IPs.
As for me personally, I may be the most technical person you could ever meet, have been tapped to work for people whose names you might recognize, and been featured in nation-wide publications. I've been the CTO for two different Tier-1 automotive suppliers and wrote their ERP systems, which included their EDI, SPC, and designed and built the electronics for automation. I've written drivers, compilers, debuggers, and RDBMSs. The last IDE I worked in was 10 years ago, PHPEd by NuSphere, but it isn't buzzword today. It has server modules so I can run and trace code on a server from Windows remotely. While I help developers with PHP off and on, it is not my job and I would guess that I can't hold a candle to most of the people here.
What I'm asking from you is your opinion on the best current strategies from for hardware and software perspective to make this update go as efficiently as possible. Problem number one will be I will be dropping it into an environment where there will be hundreds of reasons why it is not working, and finding out where those places are. Problem number two will come after they are identified, I will be able to fix them, but what is also needed is something with the intelligence to tell me what I'm doing will slated to disappear from PHP at some point in the future and recommend a better way, as well as critique code already present that may fall into that category.