9 ms·
Yeah, yeah. Go tell that to my 10x php self-taught guy who's still running php 5.4 on a windows server 2003 in a wamp installation. He upgraded the bundled mysq
by johnchristopher 7y ago
Yeah, yeah. Go tell that to my 10x php self-taught guy who's still running php 5.4 on a windows server 2003 in a wamp installation. He upgraded the bundled mysql with mariadb last year by dropping the executable in the folder (edit: just checked out, and the drop-in has been reverted back to mysql 5.0 because the upgrade path is impossible because apache 2.2).
And of course this in-house guru for anything that happens on a screen patiently overwrites hacked 1.6 joomla installations by copying over an old copy and doesn't bother updating the passwords.
I am in the process of dockerizing almost everything in sight. There's pain.
- bearburger 7y agoI feel your pain. Yesterday client's "wp developer" asked me to downgrade from 7.2 to 5.6 because "7.x is not stable enough".
- trilila 7y agoThe issue with PHP is devs like that guy.
- unicornfinder 7y agoIndeed. I'm not a fan of PHP but I think a big part of its poor reputation is from this kind of developer. I'm still maintaining some code written by someone like this - though it's been mostly replaced by a new rails app I've developed.
- fabriceleal 7y agoSo the issue is not breaking backwards compability in the "standard library" between versions?
- snowwrestler 7y agoIf that's an issue with PHP, it's certainly not unique to PHP.
- fabriceleal 7y ago> If Is it not? > certainly not unique to PHP Doesn't stop it from being an issue in my book, one that prevents updating to newer versions of the interpreter without breaking production.
- mtnGoat 7y agoas if devs like that guy cant screw up projects in any other language. kind of juvenile comment IMO.
- JeanMarcS 7y agoI’ve just finish (yesterday night) to move old websites I host from a PHP 5.2 VM to 5.6 Some of them are more than 10 years old ! And as they represents a good share of my profits, I can’t dump them. I think I saw a Joomla 1.5. Those clients don’t want to pay someone to upgrade or redo their site. There are several intranets that will not support PHP 7 because they use the old mysql_ functions... So even I loose a lot of my semi-passive incomes, or I continue to tell them on a regular base that they should upgrade. (For the anecdote, there were around 40 websites before I alerted my clients in April. 5 of them have migrate to last versions of Wordpress or joomla. 35 more to go...)
- philo23 7y agoIt's not a great solution, but there are drop in libraries that shim the old mysql_* functions to their mysqli_* equivalents. https://github.com/dshafik/php7-mysql-shim https://github.com/dshafik/php7-mysql-shim It won't be 100% perfect and it's definitely not something I'd want to use long term, but it can help with the initial migration to PHP 7.
- pbowyer 7y agoCame here to say the same. I've used them long-term on legacy codebases and they work great for allowing new development to move onto modern PHP. While I'm using https://github.com/dshafik/php7-mysql-shim https://github.com/dshafik/php7-mysql-shim, another to look at is https://github.com/mattbit/mysql-compat https://github.com/mattbit/mysql-compat
- jcoby 7y agoIn addition to the shim and compat libs recommended, I've had decent luck with the converter tool (https://github.com/philip/MySQLConverterTool https://github.com/philip/MySQLConverterTool). It goes a bit out of its way to be compatible so one function call can get expanded into a global var + function call. phpcs + PHPCompatibility ruleset is pretty good about finding issues as well.
- JeanMarcS 7y agoThanks for the suggestions, but my problem remains : who's gonna pay me to do this :-) It's mainly what prevents me to migrate them by myself. It's a lot of work and no one wants to pay for it. So it remains on a VM and if it brokes, they were alerted it could happen.
- agumonkey 7y agois that 5.4/2003 setup online or only intranet ?
- johnchristopher 7y agoOnline. And there is a bunch of intranet stuff deployed on it and accessed through hosts file on employee's machines.
- userbinator 7y agoBesides the "doesn't bother updating the passwords" point, this sort of "it's old so let's change it" attitude is unfortunately so pervasive in the software industry and I find it massively irritating because it's the same reason why a lot of software has gotten increasingly unstable over time. Instead of making only fixes and bringing a platform towards maturity they do the exact opposite, adding plenty of new bugs and breaking changes. Keep in mind that the majority of people who need PHP (and technology in general...) have far more important things to do with their time than incessant trendchasing. The saying about "known unknowns" and "unknown unknowns" is worth remembering too. The fact that a system has stayed working for over a decade should be enough to tell you that its creators did something right. (I am in the process of restoring an 80-year-old refrigerator. ;-)
- cultus 7y ago"If it ain't broke don't fix it" is always good advice. But some ancient duct-taped WAMP situation with insecure passwords needs to just be set on fire. Jesus christ, running Windows Server 2003 alone is something he should be fired for if its connected to the internet.
- InvaderFizz 7y ago> Jesus christ, running Windows Server 2003 alone is something he should be fired for if its connected to the internet. Never look under the hood at any of the companies involved in silicon development then. Server 2003 would be an upgrade for many, many tester machines. To get to the "why dont they update" question: 1. Proprietary hardware with a custom driver. 2. Barely functional proprietary software, good luck getting it to run on anything except Windows XP/95/3.11. 3. The tester is LONG out of support. 4. The company that makes it is either out of business or was bought up by Teradyne/Advantest 5. The software is licensed specifically for that hardware it came with(CPU/Motherboard guids/serials, MAC addresses, etc). 6. If there is even a replacement for the tester, it will cost a minimum of $500k to replace, probably $1MM or more. 7. A customer requirement is to have external access, as much as IT fights it, the tester must also have internet access so the customer can send/receive files with their own workflow. Sometimes we got lucky and I was able to push forward multiple upgrade projects moving testers from Windows XP to Windows 10. This was the case with most anything using a National Instruments GPIB where the software wasnt also locked down. Since National Instruments makes drives compatible with Windows 10 for their PCI cards, we were able to transition to Windows 10 on an entire floor once I developed a compatibility shim to get around the non-UAC assumptions of the tester software. Example from 2018: A tester that runs on Windows XP meets all of the above. Capacitors on the P4 motherboard blew up, company was bought by Advantest, but they dont make that tester anymore or even have a replacement. It is one of three left on planet earth. What do we do? Replace everything we can. New RAM, SSD using an IDE to SATA bridge, PSU, etc. We sent the motherboard to one of our internal techs who replaced every single cap on the motherboard, by hand. A few days later, it is back in action. It will remain in this condition for another decade or more, with internet access. This is normal in anything involved with manufacturing, and yes, it will all end badly. Thankfully, I am out of the Bay Area now and not at all involved with hardware manufacturing or that company, no longer supporting internet connected Windows 3.11, RHEL3, AIX4, and SunOS 2.6 machines.
- k__ 7y agolol, you had me until "dockerizing".
- johnchristopher 7y agoWhat do you mean ?
- rleigh 7y agoHe's exactly the same as the other guy. Under the guise of modernisation, he's introducing even more technical debt and gratuitous overcomplexity. Look at it this way. In 15 years time, that ancient docker setup may well be as insecure, unmaintainable and poorly-regarded as PHP5 is today. And another generation of admins and developers will repeat the cycle all over again with the new hotness of day.
- johnchristopher 7y ago> Look at it this way. In 15 years time, that ancient docker setup may well be as insecure, unmaintainable and poorly-regarded as PHP5 is today. Surprise, surprise, when you don't maintain and update your stack it becomes unmaintainable and insecure. News at 11. Why the heck are you implying that updating it now means we don't manage and update it for the next 15 years ? What do you suggest, then ? Keep things as is ? I remind you that the thing is insecure as fuck and it becomes hard to add features or patch the app because it's running on an old version of apache/php/mysql.
- neurostimulant 7y agoActually, php with docker is really nice and simpler compared to the old "install Apache/nginx to your server" method. Upgrading is easy, just pull new images and restart the containers. Horizontal scaling is also a lot easier using stuff like glusterfs as volume driver. It even easier if your app is modern and don't need ability to self-modify source code as you don't need fancy volume driver. If you decide to drop dockerized setup in the future, I imagine it should be easy to do so as all you need is move the source code to the new host, is it not?
- meritt 7y ago> I am in the process of dockerizing almost everything in sight How many other individuals in this clearly legacy organization have the knowledge and experience to take over your "superior" variant of technical debt once you get sick of the job and move to something trendier?
- johnchristopher 7y agoThere are 12 people in the IT team of the main org with two admin supervisor. They run Kubernetes for the regional infrastructure. I am bringing the 10x engineer and his printer tech guy from our local org up to speed with the new stack (hypervisor + docker + some linux tools) and documenting how to manage it. If they don't learn the soft way now they are going to learn the hard way later when the main org take away their admin privileges from their hands and restrict them to the php app. The IT team is quite fed up with the incessant problems of this server (mail gateway got blacklisted for instance with the last incident). That server should have been retired but our resident guru has hit a mental roadblock regarding the migration. I can't format the word enough so here it is with capital letters: DOCUMENTING. > take over your "superior" variant of technical debt Clearly the current server situation (one guy knows how to run it) is vastly superior to documenting it for others and not patching security holes is okay. At least now we'll be able to shut down a particular service instead of shutting down the whole dept. next time that server hiccups.