PHP与...之间的沟通Golang

时间:2016-05-30 12:40:19

标签: php go rpc

我想开始使用golang。为此,我给了我一个小项目。我已经有了一个网站(经典的php,mysql,css,html)。

我想将一些特征导出到golang脚本。 (比如计算Pi。)。

实际上,当我点击一个按钮时,PHP算法就可以了。是否有使用php和golang的最佳实践。

我在想socket。 (服务器golang,客户端php)或数据库。但它会产生很多SQL请求。

我希望你能帮助我,

由于

3 个答案:

答案 0 :(得分:7)

最好的解决方案是使用套接字。任何其他"模式"会使用套接字。 例如,您可以使用ZMQ流程进行交互。 ZMQ将允许您访问高位的低级插槽(类固醇插座)。

使用数据库 - 不会被视为异步解决方案,但也可以使用.... 应该基于可用的资源和任务。

ZMQ PHP binding

ZMQ Go Binding

P.S。我有一个结合php + Erlang的经验。所以我的解决方案 - 普遍。

答案 1 :(得分:2)

您可以在Golang中开始构建一个简单的REST服务器,它将JSON作为一般格式返回,如下所示: http://www.alexedwards.net/blog/golang-response-snippets

在PHP方面,比如API请求,您可以使用cURL发送一个简单的请求来调用REST服务器,如下所示: http://codular.com/curl-with-php

正如Golang中的简单REST API可以返回一些JSON数据一样,它允许您使用几乎所有现代编程语言来与REST API进行通信并实现互操作性,例如Javascript,Java,Python,Ruby等等。 。

答案 2 :(得分:0)

几行GoLang可以轻松创建HTTP服务器。使用Echo框架可以快速实现与长期流程的交互。

从那里,PHP可以发送请求。

在移植应用程序时,Web客户端可以使用CORS直接命中服务器。例如:    www.site.com golang.site.com

获取内容

可选   GoLang网络服务器有一个CGI软件包(其他人提供的FastCGI),您可以用它来运行GoLang代码中的PHP代码,但转换Apache配置的繁琐工作可能会使这种做法变得不切实际。

无论哪种方式,你都会有一个惯用的服务器产生闪电般快速的反应。