PHP如何与单声道上运行的C#进程通信?

时间:2009-07-21 20:05:44

标签: c# php mono

我正在用PHP编写一个Web应用程序,它有一些性能密集的部分,我想用编译语言重写。我知道我可以通过为PHP编写C ++扩展来更轻松地完成这项工作,但我有点像C#这样的托管语言,所以我想尽可能避免使用C ++。

如果我想要一个PHP脚本在正在运行的C#(单声道)进程中执行一个函数,我怎么能这样做?我的第一个猜测是让PHP打开C#进程的套接字,完成工作,然后关闭套接字,但我认为这会增加不必要的开销。

named pipes可以解决这个问题吗?如果是这样,它们是否适用于Windows(我的开发机器),以及如何在C#中使用它们?

如果没有,我还有其他选择吗?

3 个答案:

答案 0 :(得分:9)

您是否考虑过使用PHP.NET编译器Phalanger

答案 1 :(得分:1)

另一种选择是编写一个将Mono运行时嵌入应用程序的PHP模块。

以下是有关在应用程序中嵌入Mono运行时的文档,在这种情况下,它将是PHP:

http://mono-project.com/Embedding_Mono

答案 2 :(得分:0)

有一个PECL extension for mono,但不再维护(最后一个版本是在2003年);所以,从长远来看,这个可能是坏主意......

对于更新的内容,搜索php的文档,如果你想使用.NET,你可能会对COM and .Net (Windows)感兴趣;但它可能不适合你,因为你指定“mono”,这可能意味着“非windows”平台: - (

每当我听说使用编译语言扩展PHP时,它都使用C(有时候是C ++);我从来没有使用C#/。NET / mono ...

...所以,你可能找不到你想要的东西: - (

就像你说的那样,通过多个流程,以及这些流程之间的沟通,你可以做点什么......但不确定这是一个好主意......

(虽然编译PHP到.NET似乎是可能的 - 但它与你所要求的^^完全相反)

相关问题