Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Goridge Laravel Package

spiral/goridge

Goridge is a high-performance PHP-to-Golang IPC codec library that lets PHP call Go service methods over TCP, Unix sockets, or pipes, with native net/rpc integration, JSON/msgpack structured data, and large []byte payload support.

View on GitHub
Deep Wiki
Context7

PHP Goridge Protocol implementation

Frequently asked questions about Goridge
How do I install Goridge in a Laravel application?
Install it with composer require roadrunner/goridge for the v4 line on PHP 8.1 or newer; older docs and pins may still use spiral/goridge. Goridge does not register a Laravel service provider, so you create a Relay and RPC client in your own service class or container binding. Then point the relay at your Go peer over TCP, a Unix socket, or a pipe and call methods through RPC::call().
Does spiral/goridge work with Laravel?
Yes, but only as a plain Composer library inside a Laravel app, not as a Laravel-native package. There is no service provider, queue driver, or Eloquent integration, so all wiring, configuration, and error handling are yours. It is a fit when your Laravel code needs to call a Go service that already speaks Goridge over net/rpc.
What is the difference between spiral/goridge and roadrunner/goridge?
Goridge moved from spiral/goridge to roadrunner/goridge in the 4.5.0 line, reflecting its branding as part of the RoadRunner stack. For existing projects, update the Composer requirement, lockfile, CI caches, private mirrors, and internal docs that reference the old name. Before cutover, verify whether the new package replaces or provides the old one, whether spiral/goridge still receives releases, and whether the PHP namespace changed or only the Composer name.
Do I need RoadRunner to use Goridge?
No, RoadRunner is not required to use Goridge, because it supports standalone protocol usage when your Go peer speaks Goridge over net/rpc. RoadRunner makes the relationship more explicit and is the natural context for this package, but you still need a Go service, worker, or sidecar. There is no external daemon that Goridge itself requires.
What Go-side setup is required to call a Go service from Laravel with Goridge?
You need a Go service that speaks the Goridge protocol over net/rpc, built with the matching Goridge Go module. Match the PHP and Go codec versions, define a clear payload contract for JSON or msgpack data, and choose TCP, Unix sockets, or pipes. The PHP side stays small: create a Relay, wrap it in RPC, and call the service and method with your payload.
Which transports does Goridge support and does it require ext-sockets?
Goridge supports TCP sockets, Unix sockets, and standard pipes, and it works on Windows including Unix sockets. ext-sockets may be required for socket transports depending on your Goridge version, while pipes avoid that extension. No external services or daemons are required by the library itself.
Can Goridge handle large binary payloads and structured data?
Yes. Goridge supports structured data through JSON or msgpack and []byte transfer including large payloads. That makes it suitable for binary data, compute results, and high-volume messages where HTTP JSON overhead is undesirable. Always test large payloads and verify the PHP and Go codec versions match, because protocol mismatch can fail at runtime.
Is Goridge fast enough for high-frequency Laravel-to-Go calls?
Goridge is designed for high-performance PHP-to-Go IPC and the project cites very high call rates in benchmarks. Your real latency and throughput depend on transport, payload size, Go service implementation, and connection reuse. Benchmark your specific path rather than assuming the headline number applies to your Laravel workload.
How should I test and deploy Goridge in production?
Test with an integration environment that runs a real Go net/rpc peer, not only PHP unit tests, and cover error paths plus large payloads. Pin roadrunner/goridge and the Go Goridge module explicitly, then treat major upgrades as planned work because v3 to v4 was breaking. In production, monitor transport errors, connection lifecycle, and protocol-version drift between PHP and Go.
Is Goridge actively maintained and what are the alternatives?
Goridge is actively maintained under the roadrunner-php organization, and the rename plus README refresh is a positive maintenance signal, though you should still check commit cadence and issue response. Alternatives include gRPC, HTTP/JSON APIs, message queues, and direct RoadRunner integration. Choose Goridge when you specifically want a lightweight net/rpc codec between Laravel and Go and have Go fluency on the team.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox
pairus/product-data
fayne/laravel-filament-cms-core