我为我的新站点计划的一些功能已经作为免费的 Perl 模块提供。因此,我正在研究使用它们的可能性,而不是在 PHP 中再次对其进行编码。本来打算用exec
orsystem
函数调用perl脚本,会很慢。但是我遇到了一个允许PHP 解释 perl 代码的pecl 扩展。
这会影响我其他未使用 perl 脚本的 php 页面的性能吗?我知道额外的模块会增加我的内存使用量,但除此之外,会有什么问题吗?
我为我的新站点计划的一些功能已经作为免费的 Perl 模块提供。因此,我正在研究使用它们的可能性,而不是在 PHP 中再次对其进行编码。本来打算用exec
orsystem
函数调用perl脚本,会很慢。但是我遇到了一个允许PHP 解释 perl 代码的pecl 扩展。
这会影响我其他未使用 perl 脚本的 php 页面的性能吗?我知道额外的模块会增加我的内存使用量,但除此之外,会有什么问题吗?
看起来它所做的只是嵌入perl
到 PHP 进程中。您应该会看到几兆字节的内存增加以及您在 Perl 中创建的任何数据。它不应该减慢任何代码的速度。它只是另一个位于内存中的库,等待您调用它。此解决方案有两个好处:您不必浪费时间生成另一个进程,也不必解析正在打印的文本的返回值。
另一种解决方案是编写一个 Perl 守护程序并通过域套接字、管道或其他 IPC 方法与它通信。
您可能还对涵盖嵌入perl
的 Perl 文档感兴趣。
这些 Perl 模块是否提供了原生 PHP 中根本没有的东西?或者它们是否足够简单,您可以将它们转换为 PHP?
换句话说,你真的需要在这里运行 Perl 代码吗?
即使您不影响性能,您也会通过添加语言来影响系统的可维护性。
有时您确实需要在语言之间进行交互,但对我来说,这听起来不像其中之一。在我看来,在 PHP 中查找或编写等效的代码会更好。
您在其他地方的评论中说 Perl 代码“只是提供了一些方便的功能,例如 whois 查找”,所以我快速搜索了一下,发现了这个:http ://www.phpwhois.org/ 。还有许多其他相关的外观结果。