我计划为我的新网站提供的一些功能已经作为免费的Perl模块提供。因此,我正在研究使用它们的可能性,而不是在PHP中再次编写它们。我打算使用exec
或system
函数调用perl脚本,这将很慢。但我遇到了pecl extension,允许PHP to interpret perl code。
这会影响我的其他不使用perl脚本的php页面的性能吗?我知道额外的模块会增加我的内存使用量,但除此之外,会有任何问题吗?
答案 0 :(得分:3)
看起来它正在做的就是在PHP进程中嵌入perl
。您应该看到内存增加几兆字加上您在Perl中创建的任何数据。它不应该减慢任何代码。它只是另一个坐在记忆中的图书馆,等着你去打电话。此解决方案有两个好处:您不必浪费时间生成另一个进程,并且您不必解析正在打印的文本的返回值。
另一种解决方案是编写Perl守护程序并通过域套接字,管道或其他IPC方法与其进行通信。
您可能还对涵盖embedding perl
的Perl文档感兴趣。
答案 1 :(得分:1)
这些Perl模块是否提供了原生PHP中无法提供的功能?或者它们是否足够简单,您可以将它们转换为PHP?
换句话说,你真的需要在这里运行Perl代码吗?
即使您不影响性能,也会通过添加语言来影响系统的可维护性。
有些时候你确实需要在语言之间进行交互,但对我而言,这听起来并不像其中之一。对我而言,听起来好像在PHP中查找或编写相同的代码时更好。
你在其他地方的评论中说Perl代码“只是提供了一些像whois查找这样的便捷功能”,所以我做了一个快速谷歌并找到了这个:http://www.phpwhois.org/。还有很多其他相关的结果。