Larabox, Alternate to Laragon/Xampp/Laravel herd
I have been working on an App (Larabox) for setting up local development stack, because Laragon has been plagued with annoying popups that shifts focus even from fullscreen apps and Laravel herd is now too limited for free.
The app contains bundled or minimal installer for PHP, Nginx, Mariadb, Postgres, Mailpit, Redis, Meiliseach and Nodejs with changeable versions and delta updates to binaries. I have not signed the app yet so smart screen warnings will be shown by windows.
If anyone wants to try it out, I'll appreciate the feedback or bug reports. You can download from Larabox.org
https://redd.it/1sjctdz
@r_php
I have been working on an App (Larabox) for setting up local development stack, because Laragon has been plagued with annoying popups that shifts focus even from fullscreen apps and Laravel herd is now too limited for free.
The app contains bundled or minimal installer for PHP, Nginx, Mariadb, Postgres, Mailpit, Redis, Meiliseach and Nodejs with changeable versions and delta updates to binaries. I have not signed the app yet so smart screen warnings will be shown by windows.
If anyone wants to try it out, I'll appreciate the feedback or bug reports. You can download from Larabox.org
https://redd.it/1sjctdz
@r_php
larabox.org
Larabox | Modern Local Development for Windows
Larabox is a modern local development environment for Windows. Native performance, no Docker/WSL complexity, and pre-bundled runtimes.
I built a lightweight alternative to Laravel Horizon that works without Redis (SQS / DB / sync supported)
I built a small package for Laravel to monitor queues without being tied to Redis.
Horizon is great, but:
\- it requires Redis
\- it's a bit heavy for small projects
\- and it doesn’t really work if you're using SQS, database or sync drivers
In many cases, I just wanted to know:
\- did my jobs run?
\- which ones failed?
\- why did they fail?
So I made a lightweight solution:
\- works with any queue driver (Redis, SQS, database, sync)
\- tracks full job lifecycle (processing / success / failed)
\- shows retries and execution time
\- simple Blade dashboard out of the box
\- JSON API included (for custom frontends)
Setup is super simple:
composer require romalytar/yammi-jobs-monitoring-laravel
php artisan migrate
That’s it — you immediately get a UI at `/jobs-monitor`.
Would really appreciate any feedback
Especially what’s missing or what could be improved.
GitHub: https://github.com/RomaLytar/yammi-jobs-monitoring-laravel
https://redd.it/1sjf33x
@r_php
I built a small package for Laravel to monitor queues without being tied to Redis.
Horizon is great, but:
\- it requires Redis
\- it's a bit heavy for small projects
\- and it doesn’t really work if you're using SQS, database or sync drivers
In many cases, I just wanted to know:
\- did my jobs run?
\- which ones failed?
\- why did they fail?
So I made a lightweight solution:
\- works with any queue driver (Redis, SQS, database, sync)
\- tracks full job lifecycle (processing / success / failed)
\- shows retries and execution time
\- simple Blade dashboard out of the box
\- JSON API included (for custom frontends)
Setup is super simple:
composer require romalytar/yammi-jobs-monitoring-laravel
php artisan migrate
That’s it — you immediately get a UI at `/jobs-monitor`.
Would really appreciate any feedback
Especially what’s missing or what could be improved.
GitHub: https://github.com/RomaLytar/yammi-jobs-monitoring-laravel
https://redd.it/1sjf33x
@r_php
GitHub
GitHub - RomaLytar/yammi-jobs-monitoring-laravel: Lightweight queue monitoring package for Laravel that tracks job lifecycle (processing…
Lightweight queue monitoring package for Laravel that tracks job lifecycle (processing, success, failed) across any queue driver (Redis, SQS, sync). Provides simple UI, failure alerts, and executio...
Laravel's wildcard validation is O(n²), here's a fix
I was profiling a slow import endpoint. 100 items, 47 fields each with
When you write
I submitted 10 performance PRs to
Add
class ImportRequest extends FormRequest
{
use HasFluentRules;
}
Benchmarks (CI, PHP 8.4, OPcache, median of 3 runs):
|Scenario|Laravel|With trait|Speedup|
|:-|:-|:-|:-|
|500 items × 7 simple fields|\~200ms|\~2ms|97x|
|500 items × 7 mixed fields (string + date)|\~200ms|\~20ms|10x|
|100 items × 47 conditional fields|\~3,200ms|\~83ms|39x|
It's already noticeable with a handful of wildcard inputs that each have a few rules. The package works with Livewire and Filament, is Octane-safe and has a large set of tests.
https://github.com/SanderMuller/laravel-fluent-validation
Performance issue tracked upstream: laravel/framework issue 49375
https://redd.it/1sjjv6e
@r_php
I was profiling a slow import endpoint. 100 items, 47 fields each with
exclude_unless and required_if. Endpoint took 3.4 seconds. I assumed database queries. Validation alone was 3.2s.When you write
items.*.name => required|string|max:255, Laravel's explodeWildcardRules() flattens data with Arr::dot() and matches regex patterns against every key. 500 items × 7 fields = 3,500 concrete rules, and the expansion is O(n²). Conditional rules like exclude_unless make it worse because they trigger dependent-rule resolution on every attribute.I submitted 10 performance PRs to
laravel/framework. Four merged, the six validation ones were all closed. So I built it as a package: laravel-fluent-validation.Add
use HasFluentRules to your FormRequest, keep your existing rules. The wildcard expansion is replaced with O(n) tree traversal. For 25 common rules it compiles PHP closures (is_string($v) && strlen($v) <= 255 instead of rule parsing + method dispatch + BigNumber). If the value passes, Laravel's validator never sees it. Fails go through Laravel for the correct error message. It also pre-evaluates exclude_unless/exclude_if before validation starts, so instead of 4,700 rules each checking conditions, the validator only sees the \~200 that actually apply.class ImportRequest extends FormRequest
{
use HasFluentRules;
}
Benchmarks (CI, PHP 8.4, OPcache, median of 3 runs):
|Scenario|Laravel|With trait|Speedup|
|:-|:-|:-|:-|
|500 items × 7 simple fields|\~200ms|\~2ms|97x|
|500 items × 7 mixed fields (string + date)|\~200ms|\~20ms|10x|
|100 items × 47 conditional fields|\~3,200ms|\~83ms|39x|
It's already noticeable with a handful of wildcard inputs that each have a few rules. The package works with Livewire and Filament, is Octane-safe and has a large set of tests.
https://github.com/SanderMuller/laravel-fluent-validation
Performance issue tracked upstream: laravel/framework issue 49375
https://redd.it/1sjjv6e
@r_php
GitHub
GitHub - SanderMuller/laravel-fluent-validation: Fluent and extremely fast validation for Laravel
Fluent and extremely fast validation for Laravel. Contribute to SanderMuller/laravel-fluent-validation development by creating an account on GitHub.
Laravel's wildcard validation is O(n²), here's a fix
/r/laravel/comments/1sjjv6e/laravels_wildcard_validation_is_on²_heres_a_fix/
https://redd.it/1sjk26q
@r_php
/r/laravel/comments/1sjjv6e/laravels_wildcard_validation_is_on²_heres_a_fix/
https://redd.it/1sjk26q
@r_php
Reddit
From the PHP community on Reddit: Laravel's wildcard validation is O(n²), here's a fix
Posted by Rhinnii - 3 votes and 0 comments
How is the junior php market in the US?
Job boards all over the place with some showing lots of listing and others barely showing any. Anyone here have some insights on the PHP market for juniors?
https://redd.it/1sjoys5
@r_php
Job boards all over the place with some showing lots of listing and others barely showing any. Anyone here have some insights on the PHP market for juniors?
https://redd.it/1sjoys5
@r_php
Reddit
From the PHP community on Reddit
Explore this post and more from the PHP community
rsync repositories?
Has PHP stopped filling the rsync repositories with PHP updates?
americas.rsync.php.net and rsync.php.net
I'm not seeing 8.5.5 or 8.4.20 on there.
https://redd.it/1sjnr7d
@r_php
Has PHP stopped filling the rsync repositories with PHP updates?
americas.rsync.php.net and rsync.php.net
I'm not seeing 8.5.5 or 8.4.20 on there.
https://redd.it/1sjnr7d
@r_php
Reddit
From the PHP community on Reddit
Explore this post and more from the PHP community
Any Non-Slop Open Source Projects Looking For Contributors?
Looking to escape the professional drudgery that is the new "AI-first engineering", "agentic engineering", or whatever we're calling it these days. I have over a decade of professional experience, and I don't think I've contributed a single commit to an open source project. Are there any smaller, well-maintained projects that could use help from someone who knows better than to just dump a Claude-authored 45 file PR and call it a day?
https://redd.it/1sjtbxh
@r_php
Looking to escape the professional drudgery that is the new "AI-first engineering", "agentic engineering", or whatever we're calling it these days. I have over a decade of professional experience, and I don't think I've contributed a single commit to an open source project. Are there any smaller, well-maintained projects that could use help from someone who knows better than to just dump a Claude-authored 45 file PR and call it a day?
https://redd.it/1sjtbxh
@r_php
Reddit
From the PHP community on Reddit
Explore this post and more from the PHP community
Olá, estou desenvolvendo essa API. Gostaria que avaliassem e me desse uma senioridade de acordo com o código e se me contratariam ou não, obrigado.
Link repo: https://github.com/kakabraga/laravel-api
https://redd.it/1sjuy8u
@r_php
Link repo: https://github.com/kakabraga/laravel-api
https://redd.it/1sjuy8u
@r_php
GitHub
GitHub - kakabraga/laravel-api
Contribute to kakabraga/laravel-api development by creating an account on GitHub.
Weekly Ask Anything Thread
Feel free to ask any questions you think may not warrant a post. Asking for help here is also fine.
https://redd.it/1sjz2v2
@r_php
Feel free to ask any questions you think may not warrant a post. Asking for help here is also fine.
https://redd.it/1sjz2v2
@r_php
Reddit
From the symfony community on Reddit
Explore this post and more from the symfony community
Bedrock PHP: Your AI Writes Fast. Who’s Making Sure It Writes Right?
https://bubble.ro/2026/04/13/bedrock-php-your-ai-writes-fast-whos-making-sure-it-writes-right/
https://redd.it/1sk26mg
@r_php
https://bubble.ro/2026/04/13/bedrock-php-your-ai-writes-fast-whos-making-sure-it-writes-right/
https://redd.it/1sk26mg
@r_php
PHP app showing corrupted numeric values (e.g. 262145100 instead of 100) on server but works locally
Hey everyone,
I’m stuck with a weird issue in my PHP + MySQL project.
Problem: On localhost everything works fine. But on live server, numeric values (wallet amounts) get corrupted.
Example: Expected: 100 Actual: 262145100
Details:
* Core PHP (no framework)
* MySQL database
* Razorpay payment integration
* Same codebase used locally and on server
* Database values were getting stored incorrectly earlier (possibly due to wrong amount conversion)
What I’ve checked:
* PHP version & extensions (all good)
* Output buffering / encoding
* Session handling
* API responses
Current suspicion:
* Some kind of data corruption during amount conversion OR earlier stored bad data affecting calculations
Has anyone faced something like this? Could it be:
* Encoding / binary issue?
* Incorrect multiplication (paise conversion)?
* Hidden characters or output buffer corruption?
Any help would be really appreciated 🙏
https://redd.it/1sk3tl6
@r_php
Hey everyone,
I’m stuck with a weird issue in my PHP + MySQL project.
Problem: On localhost everything works fine. But on live server, numeric values (wallet amounts) get corrupted.
Example: Expected: 100 Actual: 262145100
Details:
* Core PHP (no framework)
* MySQL database
* Razorpay payment integration
* Same codebase used locally and on server
* Database values were getting stored incorrectly earlier (possibly due to wrong amount conversion)
What I’ve checked:
* PHP version & extensions (all good)
* Output buffering / encoding
* Session handling
* API responses
Current suspicion:
* Some kind of data corruption during amount conversion OR earlier stored bad data affecting calculations
Has anyone faced something like this? Could it be:
* Encoding / binary issue?
* Incorrect multiplication (paise conversion)?
* Hidden characters or output buffer corruption?
Any help would be really appreciated 🙏
https://redd.it/1sk3tl6
@r_php
Reddit
From the PHP community on Reddit
Explore this post and more from the PHP community
How to use different schemas with Doctrine / where to find information?
I have difficulties finding information on how to handle schemas with Symfony and Doctrine. I know I can set the Database schema with:
#ORM\Table(name: 'table_name', schema: 'schema_name')
But setting the schema for every table seems "not optimal"? There has to be a more general approach, right? Also why can I not find any information about schema handling with doctrine? Do you all just use the default schema for every table? That cant be right.
FYI, I want to use/learn Postgres, but I read that using the public schema can be a security issue. Also I want to just split the prod tables and audit tables. Thats why I wanted to use multiple schemas.
So I come to you, Symfony gods, please help me on the way to enlightment.
https://redd.it/1sk4kfs
@r_php
I have difficulties finding information on how to handle schemas with Symfony and Doctrine. I know I can set the Database schema with:
#ORM\Table(name: 'table_name', schema: 'schema_name')
But setting the schema for every table seems "not optimal"? There has to be a more general approach, right? Also why can I not find any information about schema handling with doctrine? Do you all just use the default schema for every table? That cant be right.
FYI, I want to use/learn Postgres, but I read that using the public schema can be a security issue. Also I want to just split the prod tables and audit tables. Thats why I wanted to use multiple schemas.
So I come to you, Symfony gods, please help me on the way to enlightment.
https://redd.it/1sk4kfs
@r_php
Reddit
From the symfony community on Reddit
Explore this post and more from the symfony community
Weekly help thread
Hey there!
This subreddit isn't meant for help threads, though there's one exception to the rule: in this thread you can ask anything you want PHP related, someone will probably be able to help you out!
https://redd.it/1sk28zm
@r_php
Hey there!
This subreddit isn't meant for help threads, though there's one exception to the rule: in this thread you can ask anything you want PHP related, someone will probably be able to help you out!
https://redd.it/1sk28zm
@r_php
Reddit
From the PHP community on Reddit
Explore this post and more from the PHP community
Using Inertia v3 optimistic updates
https://freek.dev/3085-how-we-use-inertia-v3-optimistic-updates-in-there-there
https://redd.it/1sk5rez
@r_php
https://freek.dev/3085-how-we-use-inertia-v3-optimistic-updates-in-there-there
https://redd.it/1sk5rez
@r_php
freek.dev
How we use Inertia v3 optimistic updates in There There | freek.dev
A few months ago we started building There There, a helpdesk we're making at Spatie. The premise is simple. After two decades of running customer support for our open source work and our SaaS apps, we wanted the tool we always wished existed.
One thing we…
One thing we…
degecko/laravel-blade-inline: Inline Blade partials at compile time for faster rendering in loops
https://github.com/degecko/laravel-blade-inline
https://redd.it/1sk78qp
@r_php
https://github.com/degecko/laravel-blade-inline
https://redd.it/1sk78qp
@r_php
GitHub
GitHub - degecko/laravel-blade-inline: Inline Blade partials at compile time for faster rendering in loops
Inline Blade partials at compile time for faster rendering in loops - degecko/laravel-blade-inline
SymfonyLive Berlin 2026: “Make your AI useful with MCP”
https://symfony.com/blog/symfonylive-berlin-2026-make-your-ai-useful-with-mcp?utm_medium=feed&utm_source=Symfony%20Blog%20Feed
https://redd.it/1sk7amb
@r_php
https://symfony.com/blog/symfonylive-berlin-2026-make-your-ai-useful-with-mcp?utm_medium=feed&utm_source=Symfony%20Blog%20Feed
https://redd.it/1sk7amb
@r_php
Symfony
SymfonyLive Berlin 2026: “Make your AI useful with MCP” (Symfony Blog)
Stop asking generic questions, make your AI useful! Tobias Nyholm introduces the MCP protocol to build AI services that answer your real, specific needs.
degecko/laravel-blade-inline: Inline Blade partials at compile time for faster rendering in loops
https://github.com/degecko/laravel-blade-inline
https://redd.it/1sk78xe
@r_php
https://github.com/degecko/laravel-blade-inline
https://redd.it/1sk78xe
@r_php
GitHub
GitHub - degecko/laravel-blade-inline: Inline Blade partials at compile time for faster rendering in loops
Inline Blade partials at compile time for faster rendering in loops - degecko/laravel-blade-inline
Named Arguments Make PHP More Readable and a Refactoring Nightmare at the Same Time
Ever since named arguments landed in PHP 8.0, I've gone back and forth on whether they're actually a net positive.
On one hand, this is genuinely nicer to read:
On the other hand, the moment you rename that parameter, even inside a private method, something somewhere breaks. And good luck catching it without full test coverage.
The problem is that parameter names were never part of the contract before. They were implementation details. Named arguments quietly promoted them to public API, and most codebases were not ready for that.
It gets worse in teams. One developer uses named arguments everywhere for readability. Another avoids them entirely. Now your codebase is inconsistent and every PR review turns into an argument about it.
I still use them, but only at the call site of functions I do not own like built-ins and third-party libraries. For my own code that is deployed in prod, I have mostly stopped.
So where do you actually draw the line?
https://redd.it/1skchzn
@r_php
Ever since named arguments landed in PHP 8.0, I've gone back and forth on whether they're actually a net positive.
On one hand, this is genuinely nicer to read:
createUser(
name: 'John',
email: '[email protected]',
role: 'admin'
);
On the other hand, the moment you rename that parameter, even inside a private method, something somewhere breaks. And good luck catching it without full test coverage.
The problem is that parameter names were never part of the contract before. They were implementation details. Named arguments quietly promoted them to public API, and most codebases were not ready for that.
It gets worse in teams. One developer uses named arguments everywhere for readability. Another avoids them entirely. Now your codebase is inconsistent and every PR review turns into an argument about it.
I still use them, but only at the call site of functions I do not own like built-ins and third-party libraries. For my own code that is deployed in prod, I have mostly stopped.
So where do you actually draw the line?
https://redd.it/1skchzn
@r_php
Reddit
From the PHP community on Reddit
Explore this post and more from the PHP community
Symfony_Live Berlin 2026: “Symfony AI in Action” !
https://symfony.com/blog/xxxx?utm_medium=feed&utm_source=Symfony%20Blog%20Feed
https://redd.it/1skex7x
@r_php
https://symfony.com/blog/xxxx?utm_medium=feed&utm_source=Symfony%20Blog%20Feed
https://redd.it/1skex7x
@r_php
Symfony
Symfony_Live Berlin 2026: “Symfony AI in Action” ! (Symfony Blog)
AI is more than hype — but how do you use it in real projects? In “Symfony AI in Action”, Christopher Hertel shows how to integrate AI features into Symfony apps in a practical way.
I built an open source WebSocket server in Go that's Pusher-compatible — self-host free forever, or use the managed cloud tier
Hey r/laravel,
I've been building Relay — an open source WebSocket server written in Go that's fully Pusher-compatible. I wanted to share it here because it solves a real problem I kept running into.
The problem: Reverb is great if you're on a pure Laravel monolith. But if your team runs Laravel + Next.js, or Laravel + a Node worker, or anything outside a single Laravel app — Reverb can't serve the non-Laravel parts. Relay can.
What Relay is:
Single Go binary, no runtime dependencies
Fully Pusher-protocol compatible — swap credentials, no code changes
Works with Laravel, Next.js, Rails, Django, Node, and any other language with a Pusher SDK
Multi-app support — one server, multiple projects
Built-in Channel Inspector — live view of active channels and event payloads
Self-host free forever on a $5 VPS
The managed cloud tier (Relay Cloud) is optional. Free hobby plan, $19/mo Startup, $49/mo Business. If you outgrow it, move to self-hosting with two env var changes. Same binary, no code changes.
First-party Laravel package:
bash
composer require darknautica/relay-cloud-laravel
Two env vars and broadcasting works. No
Performance: At 1,000 concurrent connections, Relay used \~18% CPU and 38MB RAM. Reverb used \~95% CPU and 63MB RAM on equivalent hardware. Full benchmark post here: https://relaycloud.dev/blog/relay-vs-reverb-benchmark
Links:
Site + managed cloud: [https://relaycloud.dev](https://relaycloud.dev)
Open source server: https://github.com/DarkNautica/Relay
Laravel package: [https://packagist.org/packages/darknautica/relay-cloud-laravel](https://packagist.org/packages/darknautica/relay-cloud-laravel)
Docs: https://relaycloud.dev/docs
Happy to answer any questions. Would love feedback from anyone who tries it.
https://redd.it/1skfytz
@r_php
Hey r/laravel,
I've been building Relay — an open source WebSocket server written in Go that's fully Pusher-compatible. I wanted to share it here because it solves a real problem I kept running into.
The problem: Reverb is great if you're on a pure Laravel monolith. But if your team runs Laravel + Next.js, or Laravel + a Node worker, or anything outside a single Laravel app — Reverb can't serve the non-Laravel parts. Relay can.
What Relay is:
Single Go binary, no runtime dependencies
Fully Pusher-protocol compatible — swap credentials, no code changes
Works with Laravel, Next.js, Rails, Django, Node, and any other language with a Pusher SDK
Multi-app support — one server, multiple projects
Built-in Channel Inspector — live view of active channels and event payloads
Self-host free forever on a $5 VPS
The managed cloud tier (Relay Cloud) is optional. Free hobby plan, $19/mo Startup, $49/mo Business. If you outgrow it, move to self-hosting with two env var changes. Same binary, no code changes.
First-party Laravel package:
bash
composer require darknautica/relay-cloud-laravel
Two env vars and broadcasting works. No
config/broadcasting.php editing required.Performance: At 1,000 concurrent connections, Relay used \~18% CPU and 38MB RAM. Reverb used \~95% CPU and 63MB RAM on equivalent hardware. Full benchmark post here: https://relaycloud.dev/blog/relay-vs-reverb-benchmark
Links:
Site + managed cloud: [https://relaycloud.dev](https://relaycloud.dev)
Open source server: https://github.com/DarkNautica/Relay
Laravel package: [https://packagist.org/packages/darknautica/relay-cloud-laravel](https://packagist.org/packages/darknautica/relay-cloud-laravel)
Docs: https://relaycloud.dev/docs
Happy to answer any questions. Would love feedback from anyone who tries it.
https://redd.it/1skfytz
@r_php