Roadrunner-php/goridge вызывает код golang из php в докереPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Roadrunner-php/goridge вызывает код golang из php в докере

Сообщение Anonymous »

Я использую https://github.com/roadrunner-php/goridge и https://github.com/roadrunner-server/goridge
.rr.dev.yaml< /p>

Код: Выделить всё

    version: "2.7"

server:
command: "php bin/road-runner-console baldinof:roadrunner:worker"
env:
- APP_RUNTIME: Baldinof\RoadRunnerBundle\Runtime\Runtime

go_worker:
command: "go run main.go"
env:
- GOOS: linux
- GOARCH: amd64
main.go

Код: Выделить всё

    package main

import (
"fmt"
"net"
"net/rpc"

goridgeRpc "github.com/roadrunner-server/goridge/v3/pkg/rpc"
)

type App struct{}

func (s *App) Hi(name string, r *string) error {
*r = fmt.Sprintf("Hello, %s!", name)
return nil
}

func main() {
fmt.Println("Hello")

ln, err := net.Listen("tcp", ":6001")
if err != nil {
panic(err)
}

_ = rpc.Register(new(App))

for {
conn, err := ln.Accept()
if err != nil {
continue
}
_ = conn
go rpc.ServeCodec(goridgeRpc.NewCodec(conn))
}
}
php-код

Код: Выделить всё

    $tcpRPC = new Goridge\RPC\RPC(Goridge\Relay::create('tcp://127.0.0.1:6001'));

$r = $tcpRPC->call("App.Hi",  "Antony");

var_dump(
$r
); echo __METHOD__.':'.__LINE__;die();
запустить rr

Код: Выделить всё

bin/rr-server serve .rr.dev.yaml -d
вывод

Код: Выделить всё

{"level":"debug","ts":1729072653.5290942,"logger":"rpc","msg":"plugin was started","address":"tcp://127.0.0.1:6001","list of the plugins with RPC methods:":["informer","resetter","app"]}
[INFO] RoadRunner server started; version: 2.12.3, buildtime: 2023-02-16T13:08:41+0000
запустите консольную команду PHP

Код: Выделить всё

  "exception" => Spiral\Goridge\RPC\Exception\ServiceException^ {
#message: "Error 'rpc: can't find service App.Hi' on tcp://127.0.0.1:6001"

все это в докере. возможно нужно как-то пробросить порты. а вообще запуск сервера и команду я запускаю внутри контейнера - в разных консолях

Подробнее здесь: https://stackoverflow.com/questions/790 ... -in-docker
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Roadrunner-php/goridge вызывает код golang из php в докере
    Anonymous » » в форуме Php
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • Roadrunner-php/goridge вызывает код golang из php
    Anonymous » » в форуме Php
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • RoadRunner – превышен крайний срок контекста
    Anonymous » » в форуме Php
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Laravel Octane, как Octane управляет PostgreSQL Connections под Swoole/Roadrunner?
    Anonymous » » в форуме Php
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Можно ли с помощью Golang взломать сайт, написанный на php? [закрыто]
    Anonymous » » в форуме Php
    0 Ответы
    33 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Php»