PHP Reddit – Telegram
PHP Reddit
34 subscribers
289 photos
37 videos
24.8K links
Channel to sync with /r/PHP /r/Laravel /r/Symfony. Powered by awesome @r_channels and @reddit2telegram
Download Telegram
Performance issues on large PHP application

I have a very large PHP application hosted on AWS which is experiencing performance issues for customers that bring the site to an unusable state.

The cache is on Redis/Valkey in ElastiCache and the database is PostgreSQL (RDS).

I’ve blocked a whole bunch of bots, via a WAF, and attempts to access blocked URLs.

The sites are running on Nginx and php-fpm.

When I look through the php-fpm log I can see a bunch of noscripts that exceed a timeout at around 30s. There’s no pattern to these noscripts, unfortunately. I also cannot see any errors related to the max_children (25) being too low, so it doesn’t make me think they need increased but I’m no php-fpm expert.

I’ve checked the redis-cli stats and can’t see any issues jumping out at me and I’m now at a stage where I don’t know where to look.

Does anyone have any advice on where to look next as I’m at a complete loss.

https://redd.it/1npap6n
@r_php
What's your way of formatting Blade files ?

Hi,

I used to not auto-format my files, as I liked them in a certain way. However, I recently tried some formatters in VSCode, and when I saw the default formatting, it felt odd to me:

The way “Laravel Blade Formatter” works:

Auto-formatter with Laravel Blade Formatter

And usually my way of doing it :

My way

In coding, I like to follow conventions, as it is easier to evolve with teams (I am freelance and self-taught).

What are your recommendations?

Thank you ! :)

https://redd.it/1nphucg
@r_php
Karbom CLI tool for database management (MySQL)

Hey everyone.

I'm here to share with you a PHP library I created. It's a CLI tool for database management, specifically MySQL. It creates tables, manages migrations, and manages seeders.

P.S.: Criticism is welcome, code-related or otherwise.

Wiki available in Brazilian Portuguese and English.

https://github.com/silvaleal/karbom

(If you liked it, I'll accept a star on the GitHub repository.)

https://redd.it/1nq04sy
@r_php
I'm James Brooks, Engineering Team Lead of Laravel Forge, Ask Me Anything!

https://preview.redd.it/ydgmvck0z9rf1.jpg?width=2316&format=pjpg&auto=webp&s=d55a3a6d040157fc9927e52c2ac29776bf462dfe

Hey r/laravel,

On Wednesday, October 1, we're relaunching Laravel Forge, a next-generation server management platform built for developers who want speed, control, and ease of use.

I'll be hosting an AMA Monday, October 6 to answer your questions about Forge. Add your questions below!

I'll be answering questions here on Reddit and live on the Laravel YouTube Channel!

https://redd.it/1nq1oyo
@r_php
TrueAsync 0.4.0

For a long time, there was no news about the project, partly for unpleasant reasons. This post is an attempt to fill the gap and share what has happened over the past few months.

In the summer, the first working version of TrueAsync was achieved. It consisted of two parts: modifications in the PHP core and a separate extension. Since PHP 8.5 was about to be released, an attempt was made to introduce a binary Async API into the core. The idea was bold but not insane: to enable async support right after the release. However, life made its own adjustments, and this plan did not happen.

Once the Async API did not make it into the PHP core, the next step was performance analysis.

Implemented the algorithm of reusing Fibers for different coroutines (similar to AMPHP), further improved to minimize context switching.
Added a simple implementation of a Fiber pool.

However, this was not enough: in synthetic benchmarks, TrueAsync lost completely to Swoole. It became clear that the “minimum changes to PHP core” strategy does not allow achieving reasonable performance.

Swoole is one of the most optimized projects, capable of competing even with Go. Transferring all those optimizations into the PHP core is hardly possible. Still, it was important to find a balance between architectural simplicity and performance. Therefore, the principle of “minimum changes” had to be abandoned.

The result was worth it: tests showed a 20–40% performance increase depending on the workload. And this is far from the limit of possible optimizations.

The main goal at this stage was to understand whether the project can deliver production-ready performance. Are there fatal flaws in its architecture?

For now, we deliberately avoid implementing:

a full I/O queue,
an even faster context-switching mechanism (despite excellent code in Swoole and Proton).

All of this can be added later without changing the API and interfaces. At this point, it is more important to validate architectural robustness and the limits of optimizations.

# What’s next?

I should say that I don’t really like the idea of releasing TrueAsync as quickly as possible. Although it’s more than possible, and a beta version for production may arrive sooner than expected. However…

Looking at the experience of other languages, rushing such a project is a bad idea. The RFC workflow also doesn’t fit when dealing with such a large number of changes. A different process is needed here. The discussion on this topic is only just beginning.

Now that most technical questions are almost resolved, it’s time to return to the RFC process itself. You can already see a new, minimized version, which is currently under discussion. The next changes in the project will be aimed at aligning the RFC, creating a PR, and all that.



https://redd.it/1nq9gws
@r_php
I don't know php laravel so much ,but I'm able to create projects with the help of an ai, I'm working as a laravel dev but now I'm facing issues to creating big pages with different routes and all🥲, please help to solve this issue anyhow!?



https://redd.it/1nr7pf1
@r_php
I made an admin panel as a symfony bundle after being too anoyed by the company policy

A bit of context if you want to read it :

>Here was my situation: I work in a small dev team (3–4 people) on several medium-sized internal projects for my company.
I’m very dependent on company policies, which can be pretty frustrating. For context:

>We’re required to use AWS, but we don’t have access to the architecture or servers (usually containers). Any change can take months—sometimes years— And it may or may not be linked to the fact that 80% of our IT staff are contractors and we have a lot of company specific systems.

>Because of this, I often struggle to get information about the state of the database or be able to make live changes. I also wanted a way to give project managers database access so they could do the same —without overwhelming them with tools like phpMyAdmin (which I don’t even have on every project).
NB: that my databases arent that big and i put a lot of effort into naming and relations so that everything stays as clear as possible.

>I tried EasyAdmin, but it requires too much configuration (especially with associations) and pulls in too many dependencies. So, I built my own admin panel, based directly on entities, with no configuration needed beyond adding and securing the router.

Here is my project: **https://github.com/lalamefine/AutoAdmin**

Next on my to-do list:

Free SQL query panel
Composite key support

Any feedback?

https://redd.it/1nrczjs
@r_php
InfinityFree alternatives?

Even tho the hosting was slow it was allowing me to do a lot of stuff and never had issues, however recently I am unable to access my website , it just kleeps loading those at status remains active, any alternative php hosting ?

https://redd.it/1nrujbf
@r_php
"Codes of Conduct" have been a disaster

from <https://x.com/esrtweet/status/1971768345188844003>

> "Codes of Conduct" have been a disaster - a kind of infectious social insanity producing lots of drama and politics and backbiting, and negative useful work.
>
> Here is my advice about codes of conduct:
>
> 1. Refuse to have one. If your project has one, delete it. The only actual function they have is as a tool in the hands of sh!t-stirrers.
>
> 2. If you're stuck with having one for bureaucratic reasons, replace it with the following sentence or some close equivalent: "If you are more annoying to work with than your contributions justify, you'll be ejected."
>
> 3. Attempts to be more specific and elaborate don't work. They only provide control surfaces for shit-stirrers to manipulate.
>
> Yes, we should try to be kind to each other. But we should be ruthless and merciless towards people who try to turn "Be kind!" into a weapon. Indulging them never ends well.

https://redd.it/1nrw0ci
@r_php
Vibe coded your Symfony app? How about vibe-debugging (+symfony/ai integration)

Hey Symfony devs! 👋


I built VibedebugBundle, a small bundle that lets you send your app’s exceptions to AI agents for analysis without leaving Symfony Profiler.


Key features:

Automatically collects exceptions and generates a Markdown prompt with stack trace.
Send prompts to your AI agents defined with symfony/ai-agent-bundle.
View AI responses directly in the Profiler.
Export prompts as Markdown via the profiler token.

Perfect for quickly understanding errors and getting AI suggestions without copying code or manually writing prompts.

The bundle is inspired by this RFC


🌟 Explore and contribute! You can star, follow, and fork the project here: https://github.com/sonnymilton/vibedebug-bundle/

https://redd.it/1nslx3x
@r_php
I was just chilling and built a Go wrapper for Laravel queue worker that's 21x faster

So I was bored last weekend and got curious about why php artisan queue:work feels slow sometimes. Instead of doing something productive, I decided to mess around with Go (still learning go) and see if I could make it faster.

What I built:

Go program that manages multiple persistent PHP processes (sub workers spawned by go)
Each PHP process runs a custom Laravel command that accepts jobs via stdin
Go handles job distribution and coordination
Basically Go babysits PHP workers lol

The results were... unexpected:

1k jobs:

Normal Laravel worker: 14 seconds
My janky Go thing: 1.3 seconds

10k jobs:

Normal Laravel: 2+ minutes
Go with 6 PHP workers: 6.4 seconds

Some notes:

This is NOT production ready (missing error handling, proper shutdown, etc.)
I didn't measure CPU/memory usage so who knows if it's actually better resource wise
Definitely not trying to replace Laravel's queue system
Just a "what if" experiment that got out of hand
Communicate with two programming languages (PHP and GO) without barriers .
Maybe i did mistakes in code just correct me , I'm just learning go .

https://github.com/LAGGOUNE-Walid/laravel-queue-worker-in-go

Laravel implementation : https://github.com/illuminate/queue/blob/d4debc9e4e3545aca58b5ad50767340f80d25fc2/Worker.php

https://redd.it/1nsqxqh
@r_php
I was just chilling and built a Go wrapper for Laravel queue worker that's 21x faster

So I was bored last weekend and got curious about why php artisan queue:work feels slow sometimes. Instead of doing something productive, I decided to mess around with Go (still learning go) and see if I could make it faster.

What I built:

Go program that manages multiple persistent PHP processes (sub workers spawned by go)
Each PHP process runs a custom Laravel command that accepts jobs via stdin
Go handles job distribution and coordination
Basically Go babysits PHP workers lol

The results were... unexpected:

1k jobs:

Normal Laravel worker: 14 seconds
My janky Go thing: 1.3 seconds

10k jobs:

Normal Laravel: 2+ minutes
Go with 6 PHP workers: 6.4 seconds

Some notes:

This is NOT production ready (missing error handling, proper shutdown, etc.)
I didn't measure CPU/memory usage so who knows if it's actually better resource wise
Definitely not trying to replace Laravel's queue system
Just a "what if" experiment that got out of hand
Communicate with two programming languages (PHP and GO) without barriers .
Maybe i did mistakes in code just correct me , I'm just learning go .

REPO : https://github.com/LAGGOUNE-Walid/laravel-queue-worker-in-go

https://redd.it/1nsteuk
@r_php
Weekly /r/Laravel Help Thread

Ask your Laravel help questions here. To improve your chances of getting an answer from the community, here are some tips:

What steps have you taken so far?
What have you tried from the documentation?
Did you provide any error messages you are getting?
Are you able to provide instructions to replicate the issue?
Did you provide a code example?
Please don't post a screenshot of your code. Use the code block in the Reddit text editor and ensure it's formatted correctly.

For more immediate support, you can ask in the official Laravel Discord.

Thanks and welcome to the r/Laravel community!

https://redd.it/1nsth3a
@r_php