I explain how PHP + Magento actually work under the hood, after 25+ years of shipping code. I simplify the complex.

Cleveland, OH
Joined June 2008
If you patched PHP yesterday, you're not done yet 🚨 php2shell started with an error every PHP dev has seen a thousand times: "Allowed memory size of 134217728 bytes exhausted" Here's what actually went wrong, and what the update didn't fix 👇
8
27
2
238
95,617
You deployed, flushed the Magento cache, and the OLD code is still running 😵‍💫 That's because the cache actually running your PHP isn't a Magento cache, and cache:flush never touches it. Here's what's really going on 👇
1
232
Do this after every production deploy: - reload PHP-FPM after the code lands - symlink deploys: pass $realpath_root as SCRIPT_FILENAME in nginx - check OPcache settings from a web request, not php -i - then run bin/magento cache:flush, you need both cleared
1
42
Love this quote: "The best thing a human being can do is to help another human being know more." -- Charlie Munger
3
225
It’s very clear to me that programmers/developers that want to stay in this field will need to become systems engineers. It’s architectural judgement, process, orchestration, and documentation all the way down.
1
1
4
340
I’ve honestly been really struggling with determining what to teach moving forward, as the “writing code aspect” is now largely solved. But I’m starting to gain clarity on the areas that devs could really struggle with when it comes to shipping code within an automated pipeline.
45
I built an app that automatically creates on-brand YouTube videos from raw, unedited clips. Here's a video that was created from a raw 65 min 40GB video file. I uploaded a cam video, a screencast video, and an audio file -- and this is what came out the other end w/ZERO edits:
1
1
5
695
The app also automatically makes shorts from long-form videos, and natively formatted (not just cropped-down long-forms). Here's one (it generated 5, of which 3 were very good): xitter.cf/MarkShust/status/21150…
Marko is now FASTER than Laravel 🚀 A well-known Magento + PHP dev ported their Laravel 13 app to Marko, then benchmarked both: - 1.2-1.3x more req/s - ~2/3 the CPU per req - half the memory - 6x faster CLI start On 0.8.5 it was 2x slower. Now they're moving their site over.
1
47
Here's the original YouTube video btw, which took me 6+ hours to edit. I think the automatically-edited one is objectively better: youtube.com/watch?v=P_1TtSBQ…
47
Marko is now FASTER than Laravel 🚀 A well-known Magento + PHP dev ported their Laravel 13 app to Marko, then benchmarked both: - 1.2-1.3x more req/s - ~2/3 the CPU per req - half the memory - 6x faster CLI start On 0.8.5 it was 2x slower. Now they're moving their site over.
2
1
1
5
850
If you looked at Marko back in April and moved on, it's time for another look. Docs: shu.st/zkbhbU Repo: shu.st/LLbE25
82
Join 11,000+ PHP + Magento devs before tomorrow morning to get: - how php2shell actually broke PHP (no C required) - the fix step most devs skipped after patching - what to hunt for once you've patched 🥷 Get the newsletter at macade.my/dHEPH7
2
268
Anyone interested in utilizing Cloudflare tunnels for your dev projects? You don’t need Tailscale, Ngrok, etc. and can gain more flexibility -- and it’s cheaper (~free).
2
1
327
Enjoy the weekend devs, ...it's time to relax!
1
314
Patched PHP this week? Great. That closes the door... but it doesn't kick out anyone who already got in 🥷 If your server was public and unpatched, here's how worried to be and what to rotate 👇
5
3
40
13,448
I write a newsletter about how PHP and Magento ACTUALLY WORK, simplified to its core. Releases, security alerts, something explained under the hood, plus a take of my own. Get it at: macade.my/ScNkuR
1
1
974
Missed the first part? Here's what php2shell actually broke, and the hardening steps to do first 👇 xitter.cf/MarkShust/status/21132…
If you patched PHP yesterday, you're not done yet 🚨 php2shell started with an error every PHP dev has seen a thousand times: "Allowed memory size of 134217728 bytes exhausted" Here's what actually went wrong, and what the update didn't fix 👇
516