2011-06-09 62 views
1

我有一个C#应用程序,需要调用一个PHP脚本,并以尽可能最快的方式获得输出。选项我探索:PHP没有服务器

  • 执行脚本使用PHP CLI(临:易/缺点:无码缓存/预编译]
  • 编译PHP(Phalanger,街舞等)专业:没有网络服务器/缺点:兼容性]
  • 使用嵌入式Web服务器(AppWeb,切诺基,lighttpd的)优点:简单/缺点:部署]

有没有留下任何其他的选择

编辑:最好的可能的运通过运行php-cgi.exe -b 127.0.0.1可以使用PHP的内置FastCGI服务器。但似乎没有(C#)代码与可用的服务器交谈。虽然有很多服务器端库(如FCGIDotNet和SharpCGI),但它们都实现了协议的服务器端。

+4

脚本是做什么的? – 2011-06-09 14:48:46

+0

您是否尝试过WAMP? – Fase 2011-06-09 14:49:32

+1

任何需求讨论必须首先涉及解决方案必须做的一切。然而,在这里,你甚至没有提到它。 – 2011-06-09 14:49:52

回答

2

另一种选择是将PHP CLI脚本作为守护进程运行(关于此here的好博客文章)。

如果脚本启动/清除时间过长,那么将其作为守护进程运行意味着您只能执行一次这样的操作。

缺点是你需要编写一个与守护进程进行通信的方式,从C#获取数据。您还需要随时注意其内存使用情况。

虽然最好的方法总是要特定于脚本。

+0

看起来很有趣!问题在于CLI是Windows上速度最慢的,脚本是Linux。由于我的应用程序是跨平台的,我仍然需要Windows解决方案,但非常好的答案。 – Muis 2011-06-09 17:16:54

0

正如你可能知道,PHP最初代表“个人主页”,现在说是站在了“PHP:Hypertext Preprocessor的”,其字面规定它的使用,基本上是不是一个开发人员将嵌入到他的应用程序只是为了有一个脚本选项。

除非你有一些非常具体的软件和强有力的论据,否则我建议你坚持Lua或易于嵌入和维护的类似脚本库。否则,请按照每个人使用CLI的方式使用它。否则要准备好面对后果。

+0

我试图重新使用现有的库,所以我没有其他语言的选择,除了从头开始重写整个库。 – Muis 2011-06-09 17:10:35

相关问题