PHP如何与运行在mono上的C#进程对话?

PHP如何与运行在mono上的C#进程对话?,c#,php,mono,C#,Php,Mono,我正在用PHP编写一个web应用程序,它有一些性能密集型部分,我想用编译语言重写。我知道,我可以通过编写一个用于PHP的C++扩展来更容易地完成这一点,但是我被C语言这样的管理语言破坏了,所以如果可能的话,我希望避免C++。 如果我想要一个PHP脚本在运行的C#(mono)进程中执行一个函数,我该怎么做?我的第一个猜测是让PHP打开一个C#进程的套接字,完成工作,然后关闭套接字,但我认为这会增加不必要的开销 有什么办法可以解决这个问题吗?如果是这样,它们在windows(我的开发机器)上工作吗?

我正在用PHP编写一个web应用程序,它有一些性能密集型部分,我想用编译语言重写。我知道,我可以通过编写一个用于PHP的C++扩展来更容易地完成这一点,但是我被C语言这样的管理语言破坏了,所以如果可能的话,我希望避免C++。 如果我想要一个PHP脚本在运行的C#(mono)进程中执行一个函数,我该怎么做?我的第一个猜测是让PHP打开一个C#进程的套接字,完成工作,然后关闭套接字,但我认为这会增加不必要的开销

有什么办法可以解决这个问题吗?如果是这样,它们在windows(我的开发机器)上工作吗?我如何从C#使用它们


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

您考虑过使用PHP.NET编译器吗

  • ,包括:
    • MediaWiki
    • PhpMyAdmin
    • PhpBB 2和3
  • (PDF:见末尾的基准)
  • (PDF)
  • (PDF)使其成为一流的.NET语言
有一个,但不再维护(上一个版本是在2003年);所以,从长远来看,这可能是个坏主意

对于最近的内容,搜索php文档,如果您想使用.NET,您可能会感兴趣;但这可能不适合您,因为您指定了“mono”,这可能意味着“非windows”平台:-(

每次我听说用编译过的语言扩展PHP时,它都是使用C(有时是C++);我从来没有听说过使用C#/.NET/mono来实现这一点

…因此,您可能找不到您想要的:-(

正如你所说,通过多个进程,以及它们之间的通信,你可以做一些事情…但不确定这是一个好主意


(将PHP编译到.NET似乎是可能的,但这与您的要求完全相反^^)

另一个选择是编写一个PHP模块,将Mono运行时嵌入到您的应用程序中

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


+1:我读到一家公司用它在.NET杂志xD中将数千个php文件和超过200万行代码转换成3.NET程序集。更便携、更快。现在php和C#之间几乎有1:1的转换匹配,你可以使用Phalanger(php.NET)在php和.NET之间进行实际通信将允许直接从PHP调用C#或托管C++(反之亦然),几乎没有开销。