PHP Reddit – Telegram
PHP Reddit
34 subscribers
286 photos
36 videos
24.7K links
Channel to sync with /r/PHP /r/Laravel /r/Symfony. Powered by awesome @r_channels and @reddit2telegram
Download Telegram
https://github.com/Luracast/Restler
Packagist: [https://packagist.org/packages/luracast/restler](https://packagist.org/packages/luracast/restler)
Documentation: https://github.com/Luracast/Restler/blob/master/README.md
Blog Post: [https://luracast.com/blog/restler-v6-launch](https://luracast.com/blog/restler-v6-launch) (link to your blog)
Discussions: https://github.com/Luracast/Restler/discussions

We'd love your feedback! Ask questions, share experiences, or tell us what you think.

Excited to hear what you build with Restler v6! 🚀

# P.S.

If you try it, drop a comment here. Love it? Hate it? Somewhere in between? Let us know!

https://redd.it/1pc99qm
@r_php
PHP Landscape Survey

Disclaimer: I'm employed for Perforce Zend.

Calling PHP developers! The 2026 State of Open Source and PHP Survey needs your technical perspective. Help us analyze enterprise OSS adoption patterns and PHP ecosystem evolution.
Plus, for every 500 responses we receive, we'll increase our donation to open source initiatives by $1K 

We will be closing the survey soon. I can share the report with the community once produced in the spring!


https://www.surveymonkey.com/r/7SXYYMQ

https://redd.it/1pcayj8
@r_php
UUID data type. Generated on database side or in code, on PHP side ?

Since Mariadb 10.7, there is the UUID data type available.

In Postgres, UUID data type was available since forever.

Now , my dilemma is: if I want to use in my project UUID data type, should i:

1. generate the uuid on PHP side, using Ramsey's library and insert it in a uuid data type column ?

OR

2. count on database engine to autogenerate an uuid ?

Option #1 have the advantage that Doctrine is ok with it , and I do not need to care if the database can generate an uuid_v4 or uuid_v7.

Option #2 have the advantage that it reduces the CPU cycles of PHP code and move the burden of generating the uuid on database side .

What do you think would be the better options and why ?

https://redd.it/1pcf5hh
@r_php
Looking for a PHP noscript that can timeline email correspondence between people

Hi all

I’m looking for a PHP noscript that can potentially log into an IMAP email Box and read and process these emails (any unread emails) and strip attachments.

Catalogue them into a database and generate a timeline of the correspondence

There may be multiple people involved in this same email chain

Alternatively I’m also looking for a EML file viewer with browser support?

Thanks!

https://redd.it/1pcx44h
@r_php
Cloudflare Vectorize driver for Laravel Scout

I've created a Scout driver for Cloudflare Vectorize vector databases. It's more a proof of concept at the moment, although it is functional - if you're looking for symantic search, Vectorize is a neat way to deliver it.

You can find it here https://github.com/brynj-digital/laravel-scout-vectorize

https://redd.it/1pciy2d
@r_php
Swoole or Go for this specific use case

I have a certain part of my ecommerce website builder SaaS that I'm rewriting from regular PHP. Basically it's a page builder like Shopify's page builder. It allows people to customize sections, which are in turn written in a custom templating language and have reflection built-in to expose customization options inside the page builder per-section and per-block. It also has a live preview that shows the changes made in real-time.

The template interpreter is written in Rust and it also handles the user-facing side of people's websites, while the admin panel is PHP. So the theme builder backend will basically have to ask the Rust process to re-interpret the preview and return the HTML on every change, probably through a socket connection.

There are several reasons for the rewrite apart from speed - the codebase a mess from 3 years of feature additions, removals and just using less-than-optimal logic for many things. and also keeping it as part of the admin panel rather than on a separate domain means if something happens to it or if there's a traffic surge it affects the whole admin panel's performance (the rest of the admin panel is still PHP and I don't plan on migrating).

I love PHP - I think it's probably the most flexible language out there and I wouldn't have been able to make my platform as powerful as it is right now in any other language. I've been using it for 8+ years and it's still my favourite language. However I've never used Swoole or Go (though I have used some Roadrunner) so I was wondering if I should go for Swoole or with Go for this project. Does Swoole have any advantages other than a familiar syntax?

https://redd.it/1pd3f27
@r_php
PHP date function changed?

I might have missed something, but PHP's date function has changed.

PHP 8.1> echo date("Ymd", false) = 19691231
PHP 8.3> echo date("Ymd", false) = 19700101

What changed? Why? Was it announced?

EDIT:

PHP 8.1 is on Ubuntu 22.04
PHP 8.3 is on Ubuntu 24.04

Same timezones on both boxes.

https://redd.it/1pdg8lc
@r_php
🔱 Seaman Beta - Development environment manager for Symfony

I am building **Seaman**, a Docker development environment manager for Symfony 7+ inspired by Laravel Sail.

Features:

* Interactive setup with smart project detection
* PostgreSQL, MySQL, MongoDB, Redis, Elasticsearch, RabbitMQ, etc.
* Xdebug toggle without restarts
* DevContainers support
* Single PHAR, easy install

⚠️ Beta status - There may be bugs! Barely tested on Linux/macOS, Windows needs testing. A lot of bugs may appear; please be merciful, this is a work in progress.

For more information and documentation, please refer to the GitHub repo:

[https://github.com/diego-ninja/seaman](https://github.com/diego-ninja/seaman)

Comments, ideas, contributions, testers, and GitHub 🌟 are always welcome.

Made with ❤️ for Symfony in my free time. Hope you find it useful!

https://redd.it/1pdgwj7
@r_php
🔱 Seaman Beta - Development environment manager for Symfony

I am building **Seaman**, a Docker development environment manager for Symfony 7+ inspired by Laravel Sail.

Features:

* Interactive setup with smart project detection
* PostgreSQL, MySQL, MongoDB, Redis, Elasticsearch, RabbitMQ, etc.
* Xdebug toggle without restarts
* DevContainers support
* Single PHAR, easy install

⚠️ Beta status - There may be bugs! Barely tested on Linux/macOS, Windows needs testing. A lot of bugs may appear; please be merciful, this is a work in progress.

For more information and documentation, please refer to the GitHub repo:

[https://github.com/diego-ninja/seaman](https://github.com/diego-ninja/seaman)

Comments, ideas, contributions, testers, and GitHub 🌟 are always welcome.

Made with ❤️ for Symfony in my free time. Hope you find it useful!

https://redd.it/1pdgvro
@r_php
Laravel + Filament: Why It's the Perfect Combo for Admin Interfaces
https://redd.it/1pe137w
@r_php
How are people using Laravel Horizon with EC2 IAM roles? (Credentials expire every 6h)

Hi all,

I’m running Laravel applications on EC2. Some are bare-metal, some are Dockerized. I’m trying to eliminate static AWS keys and move entirely to **EC2 instance roles**, which provide short-lived temporary credentials via IMDS.

The problem:
**Laravel Horizon uses long-running PHP workers**, and the AWS SDK only loads IAM role credentials once at worker startup. When the STS credentials expire (every \~6 hours), S3 calls start failing. Restarting Horizon fixes it because the workers reload fresh credentials.

I originally assumed this was a Docker networking problem (container → IMDS), so I built a small IMDSv2 proxy sidecar. But the real issue is that **Horizon workers don’t refresh AWS clients**, even if the credentials change.

Right now my workaround is:
**A cron job that restarts Horizon every 6 hours.**
It works, but it feels wrong because it can break running jobs.

My questions:

* How do other teams manage Horizon + IAM roles?
* Do people really rebuild the S3 client per job?
* Do you override `Storage::disk('s3')` to force new credentials?
* Is there a recommended pattern for refreshing AWS clients in queue workers?
* Or is the real answer: “Just use static keys for Horizon workers”?

This feels like a problem almost anyone using Horizon + EC2 IAM roles must have run into, so I’m curious what patterns others are using in production. Thanks!

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