PHP perception at a CTO panel
Was in a conference where 90% of the audience were CTOs and Director level. During a panel a shocking phrase was said.
"some people didn't embrace change and are stuck with ancient technologies and ideas such as Perl or PHP".
It struck me!
If you are a CTO at a company that uses PHP, please go out at any conference and advocate for it!
https://redd.it/1npb1cn
@r_php
Was in a conference where 90% of the audience were CTOs and Director level. During a panel a shocking phrase was said.
"some people didn't embrace change and are stuck with ancient technologies and ideas such as Perl or PHP".
It struck me!
If you are a CTO at a company that uses PHP, please go out at any conference and advocate for it!
https://redd.it/1npb1cn
@r_php
Reddit
From the PHP community on Reddit
Explore this post and more from the PHP community
Firewalls underexplained in docs?
I am working on app that has multiple firewalls, one of which has switchuser functionality. I currently have an issue where on switching the user I get access denied on one route and 200 on another, both handled by same firewall.
I wanted to read upon firewall concept a bit more in Symfony docs, but basically what I see is that one of the core concepts has basically a parapgraph, saying.
Firewall:
1. Most important aspect of auth
2. Only one firewall per request
3. Oh and there is fake dummy firewall for profiler, don't worry
What about how the individual firewall contexts are stored if I have multiple firewalls, what happens if I login to one firewall and then try to login to another one... ? What about switch user specifics when one firewall has switch user functionality enabled and then another does not, but switch user redirect goes to another firewall... ?
There is a mention that if you login from one firewall, by default your are logged out from all of them, which is also interesting.
In summary it feels like docs do not provide the broader concept of how think about multiple firewall interaction.
https://redd.it/1npcyeb
@r_php
I am working on app that has multiple firewalls, one of which has switchuser functionality. I currently have an issue where on switching the user I get access denied on one route and 200 on another, both handled by same firewall.
I wanted to read upon firewall concept a bit more in Symfony docs, but basically what I see is that one of the core concepts has basically a parapgraph, saying.
Firewall:
1. Most important aspect of auth
2. Only one firewall per request
3. Oh and there is fake dummy firewall for profiler, don't worry
What about how the individual firewall contexts are stored if I have multiple firewalls, what happens if I login to one firewall and then try to login to another one... ? What about switch user specifics when one firewall has switch user functionality enabled and then another does not, but switch user redirect goes to another firewall... ?
There is a mention that if you login from one firewall, by default your are logged out from all of them, which is also interesting.
In summary it feels like docs do not provide the broader concept of how think about multiple firewall interaction.
https://redd.it/1npcyeb
@r_php
Reddit
From the symfony community on Reddit
Explore this post and more from the symfony community
Povilas Korop: Cursor, PHPStorm, Livewire, React, Vue, AI & PHP Tooling!
https://youtu.be/Uwl5WDvNbhM?si=RH5jA5A6ZazwuybB
https://redd.it/1npcp5f
@r_php
https://youtu.be/Uwl5WDvNbhM?si=RH5jA5A6ZazwuybB
https://redd.it/1npcp5f
@r_php
YouTube
Povilas Korop: Cursor, PHPStorm, Livewire, React, Vue, AI & PHP Tooling!
❤️ sponsor this channel: https://nunomaduro.com/sponsorships 🙌🏻 this video was made possible by:
💎 laracasts / the best way to learn laravel and php: https://laracasts.com/?ref=nunomaduro
🐰 coderabbit / ai code reviews with instant feedback on pull requests:…
💎 laracasts / the best way to learn laravel and php: https://laracasts.com/?ref=nunomaduro
🐰 coderabbit / ai code reviews with instant feedback on pull requests:…
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
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
Reddit
From the PHP community on Reddit
Explore this post and more from the PHP community
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
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
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
GitHub
GitHub - silvaleal/karbom: A PHP library designed to help developers who want to use MySQL in their applications. Note: this project…
A PHP library designed to help developers who want to use MySQL in their applications. Note: this project is not an ORM. - silvaleal/karbom
Creating Powerful Custom Validation Rules in Laravel
https://youtu.be/TXYCtTfouPg
https://redd.it/1nq06k6
@r_php
https://youtu.be/TXYCtTfouPg
https://redd.it/1nq06k6
@r_php
YouTube
Creating Powerful Custom Validation Rules in Laravel
Dive into "Laravel Gems," a series dedicated to unearthing hidden treasures of Laravel functionalities. Enhance your skill set as we illuminate overlooked yet powerful features you might not know existed.
➡️ Today: Custom Validation Rules
Docs: https:/…
➡️ Today: Custom Validation Rules
Docs: https:/…
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
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
How to use xdebug with swoole and hyperf in a docker container
https://bytepursuits.com/xdebug-swoole-docker-container
https://redd.it/1nq4igy
@r_php
https://bytepursuits.com/xdebug-swoole-docker-container
https://redd.it/1nq4igy
@r_php
Byte Pursuits
How to use xdebug with swoole in a docker container - Byte Pursuits
Setting up xdebug with swoole could be a bit of a hustle especially if application is containerized and you are running swoole and xdebug in a docker container but your IDE is on the host. Here’s what worked for me. Here I’m using hyperf framework, but I…
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
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
Reddit
From the PHP community on Reddit
Explore this post and more from the PHP community
SymfonyCon Amsterdam 2025: A productive Frontend Stack with Symfony UX
https://symfony.com/blog/symfonycon-amsterdam-2025-a-productive-frontend-stack-with-symfony-ux?utm_medium=feed&utm_source=Symfony%20Blog%20Feed
https://redd.it/1nqy6jd
@r_php
https://symfony.com/blog/symfonycon-amsterdam-2025-a-productive-frontend-stack-with-symfony-ux?utm_medium=feed&utm_source=Symfony%20Blog%20Feed
https://redd.it/1nqy6jd
@r_php
Symfony
SymfonyCon Amsterdam 2025: A productive Frontend Stack with Symfony UX (Symfony Blog)
🎨 Backend-rendered HTML is back. Join Alexander Schranz to master Twig structure, create reusable components, and discover how Symfony UX with Turbo, Stimulus, and Tailwind powers a modern, product…
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
https://redd.it/1nr7pf1
@r_php
Reddit
From the PHP community on Reddit
Explore this post and more from the PHP community
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
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
GitHub
GitHub - lalamefine/AutoAdmin: Autogenerated admin pages for Symfony, 30s setup
Autogenerated admin pages for Symfony, 30s setup. Contribute to lalamefine/AutoAdmin development by creating an account on GitHub.
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
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
Reddit
From the PHP community on Reddit
Explore this post and more from the PHP community
"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
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
X (formerly Twitter)
Eric S. Raymond (@esrtweet) on X
I'm about to do something I think I've never done before, which is assert every bit of whatever authority I have as the person who discovered and wrote down the rules of open source.
After ten years of drama and idiocy, lots of people other than me are now…
After ten years of drama and idiocy, lots of people other than me are now…
A Week of Symfony #978 (September 22–28, 2025)
https://symfony.com/blog/a-week-of-symfony-978-september-22-28-2025?utm_medium=feed&utm_source=Symfony%20Blog%20Feed
https://redd.it/1nsjgk0
@r_php
https://symfony.com/blog/a-week-of-symfony-978-september-22-28-2025?utm_medium=feed&utm_source=Symfony%20Blog%20Feed
https://redd.it/1nsjgk0
@r_php
Symfony
A Week of Symfony #978 (September 22–28, 2025) (Symfony Blog)
This week, Symfony released the maintenance versions 6.4.26 and 7.3.4. Development on the upcoming Symfony 7.4 version also continued, with more features and deprecations added ahead of its release at…
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
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
GitHub
[RFC] Add Markdown format support for exception pages · Issue #61797 · symfony/symfony
Denoscription This proposal suggests adding a new markdown format for rendering exception pages in Symfony. Currently, Symfony supports formats like html, json, xml, etc., for its error pages. The ad...