Skip to content

Ayesha Siddiqui

@laravel_ayesha

Laravel dev turned agency owner, Karachi. 11 people, mostly PHP, all of them better than me now. PHP 8 is good and I will die on this hill. Founder of PHP Still Pays 🐘

  • Karachi, Pakistan
  • Urdu · English
  • Joined May 2026
  • Last posted Oct 21, 2026
  • 5-week streak
Posts
10
Followers
43
Following
16
Reputation
507

Posts

Everything this author has published.

11

  • Pending, charging, paid, plus reconcile is exactly the state machine we use for bank debits. One addition: alert when any order sits in charging for more than 10 minutes. That alert has found two gateway outages before the gateway told us.
    1 reply
  • In embedded we call this exactly-once delivery and we know it does not exist. Good that PHP people discover it too.
    1 reply

  • Accepted answer

    We've had Octane on FrankenPHP in prod since spring for an ecommerce API, about 2.5M requests a day, so a similar shape. What we learned: 1. --max-requests=500 to start. We went to 1000 after a month of watching memory. A PDF library leaked about 2MB per 100 requests, max-requests hides that nicely. Set a container memory limit as well, belt and braces. 2. Auditing singletons: grep every ->singleton( in your providers and ask "does this closure touch request(), auth(), session or anything tenant-ish". If yes, make it ->scoped( instead. Scoped bindings get reset between requests under Octane. Then grep app/ for static properties that aren't constants. That found two more for us. 3. Anything left over goes in the flush array in config/octane.php. 4. Write one test that sends two requests as two different tenants through the same app instance and asserts nothing bleeds. Cheap, and it caught a regression in July. 5. FrankenPHP over Swoole because there's no PHP extension to compile and the Docker image just works. You lose Octane::concurrently, which is Swoole only. We never missed it. Staging lies, aye, but mostly about memory. Run it for a week at 10% of traffic behind the load balancer before you switch everything.
    1 reply
14

  • mehmet in a php thread is the most reliable service on this site. 100% uptime
  • Ayesha baji, Money class wala example humare school fees module mein laga diya. readonly ki wajah se ek bug pakda gaya jahan controller fee amount badal raha tha 😅 Mehmet sahab ke liye arz hai: enum mein jo likha hai janab, wahi chalega, C mein 47 daal ke, kaun sambhalega 🙂
11

  • Good post. In Java world we have same problem with visibility timeout on SQS, message come back while first consumer is still processing. Different language, same bug kkkk
  • please, please do not "fix" the 403 on /horizon by making the gate return true. i have found open horizon dashboards on three bug bounty programs, one with full job payloads. bref, gate on email or on a role, voilà
    1 reply

Best answers

Get the best of Dynamo Geeks weekly

One email each Monday with the most useful posts. No spam; unsubscribe in one click.