go 与 PHP 最佳交互方式?

2020-11-17 13:19:30 +08:00
 oneforallsoft
尝试过 goridge 可每次调用只能通过 string 方式返回 信息太少了 好像是通过指针类型的参数返回 string 的
也尝试过 go 启动服务 以 php 写 fsockopen http 请求方式结合 这种方式也不好

现在我就 exec 或 passthru 启动进程方式结合
它们之间用写文件的方式来交互
go 有什么东西写到文件上
前端 ajax 请求 php 去查看文件
以此来输出日志或 go 进度
3433 次点击
所在节点    Go 编程语言
13 条回复
cmdOptionKana
2020-11-17 13:25:06 +08:00
通过数据库?
oneforallsoft
2020-11-17 13:28:57 +08:00
@cmdOptionKana
关键任务用 go 做 比如上万个 api http 请求 php 调用 go 显示进度
tabris17
2020-11-17 13:33:35 +08:00
go 起一个 gRPC 服务,PHP 去调用就行了
catror
2020-11-17 13:33:52 +08:00
goridge 返回 string,可以是返回一个 json 字符串,你想返回啥就返回啥
vincenttone
2020-11-17 14:31:11 +08:00
*unix 系统有 ipc 通信方法,共享内存、队列等,http 不行也可以换其他打包形式和传输协议。
不过我觉得只是显示个进度,何必还启个 php 服务呢?直接 go 解决了就完事了,太冗余了。
oneforallsoft
2020-11-17 14:39:15 +08:00
@vincenttone
php 占大部分代码 go 只是小部分 服务器 apache
go 开发速度太慢
vibbow
2020-11-17 14:44:26 +08:00
把 go 程序当 cgi 应用,让 apache 去调用呢?
qieqie
2020-11-17 14:48:14 +08:00
go 编译一个 c 的 shared library,然后写一个链接到这个库的 php extension
xcstream
2020-11-17 18:10:29 +08:00
消息队列 数据库 redis
unixeno
2020-11-17 18:30:43 +08:00
rpc
poic
2020-11-17 20:14:23 +08:00
果断上 rpc
ysc3839
2020-11-17 21:01:34 +08:00
rpc 库。
sadfQED2
2020-11-17 21:05:13 +08:00
显示进度写成 http 服务,nginx 或者 php 做一次代理

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/726173

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX