从 php 调用 F# (.Net dll) 代码
我想知道是否可以从 php 调用一些 F# 代码。看来 Phalanger 确实能做到这一点。有人用吗?对于这个解决方案和其他解决方案(如果有的话?),它对服务器运行代码有什么要求?
谢谢
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
我想知道是否可以从 php 调用一些 F# 代码。看来 Phalanger 确实能做到这一点。有人用吗?对于这个解决方案和其他解决方案(如果有的话?),它对服务器运行代码有什么要求?
谢谢
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(3)
是的,您可以通过使用 PHP COM 类,但是它仅适用于 PHP5+ 的 Windows 版本,无需单独安装。所以,您确实会这样做:
如果您对使用 PHP COM 类持怀疑态度,请从 阅读此内容 .net/manual/en/intro.com.php" rel="noreferrer">PHP 手册:
本文显示了所做的所有更改。
Yes you can, by using PHP COM class but it works only on Windows version of PHP5+ and needs no separate installation. So, you do like this:
And if you're skeptical about using PHP COM class, then read this from the PHP Manual:
This article shows all the changes done.
Phalanger 应该能够直接调用 F# 代码(就像任何其他已编译的 .NET 代码一样。该代码与使用标准 PHP 类型时的代码相同(尽管 Phalanger 具有允许您使用 .NET 特定事物(例如泛型)的扩展)使用 PHPCOM 可能会很棘手)。
从使用 Phalanger 编译的 PHP 站点运行 F# 代码的要求只是 .NET 2.0+ 和 IIS(对于 F#,您需要引用 F# 库和
)。 FSharp.Core.dll(包含 F# 运行时和基本类型)
PS:我参与 Phalanger 一段时间了,所以如果您有疑问,请告诉我 - 我可以将它们转发到当前版本。开发人员(如果您感兴趣,他们还可以提供一些商业支持)。
Phalanger should be able to call F# code directly (just like any other compiled .NET code. The code would be the same as when working with standard PHP types (although Phalanger has extensions that allow you to use .NET specific things like generics - which could be tricky using PHPCOM).
The requirements to run F# code from PHP site compiled using Phalanger are just .NET 2.0+ and IIS (to host the web site). For F#, you would need to reference your F# library and
FSharp.Core.dll
(which contains F# runtime and basic types).PS: I was involved with Phalanger for some time, so if you have questions, let me know - I can forward them to the current developers (they can also provide some commercial support if you were interested).
Phalanger 似乎在其领域做得越来越好,并且由于它有效地使 PHP 成为一种 .NET 语言,因此它是与其他 .NET 语言互操作性的明显选择。尽管我可以想象,你的 PHP 代码需要进行相当多的更改。
如果这对你不起作用,那么我会同意上面 Max 的观点。使用WebService,如果在同一服务器上运行,它仍然会非常快,并且具有通过Mono和mod_mono仍然可以部署在Windows以外的其他服务器平台上的优点。
Phalanger appears to be getting better at what it does and as it effectively makes PHP a .NET language, it is an obvious choice for interoperability with other .NET languages. Quite a few changes to your PHP code though I would imagine.
If that does not work for you, then I would agree with Max above. Use a WebService, if operating on the same server it would still be pretty quick and has the advantage that via Mono and mod_mono could still be deployed on other server platforms than Windows.