2011-11-04 114 views
3

我有一个PHP脚本我想编译成独立的命令行可执行文件以便在Linux上运行。将PHP编译为独立可执行文件(更快?)

这是现实吗?有编译器吗?

我知道有PHP编译器,但我的问题是面向更多的是否它是有利的,哪些是最好的编译器使用。

它会比通过PHP运行速度更快还是更慢?如果它能够加速我的脚本,那么这将会很棒,因为它会进行大量的处理(大量循环和数学运算)并且需要一个小时才能运行。

+0

你有没有简介? –

+0

你是什么意思? – Alasdair

回答

6

我的理解是HipHop编译为C++,不C,并且这个过程是很容易的。 FaceBook已经将它应用于海量代码。

我不知道你得到一个.exe,但OP只想要“更快”。他可能会有一个很好的加速; HipHop编译代码的平均速度只有2倍左右,但这是因为很多PHP执行实际上都是库调用。如果HipHop编译器能够计算出计算代码中的数据类型,他的计算部分可能会得到很好的加速。为了让HipHop编译器清楚,他可能需要修改自己的代码,除了计算之外,不要使用他的计算变量来计算任何值,但应该只是一些小的源代码更改。我希望HipHop网站能够提供有关如何加快HipHop编译代码的提示。

所有这些都是基于我理解的而不是实际经验的教育猜测。因人而异。

+0

是的,我写的很干净的PHP,除了对未设置的变量进行计算 - 但可以修复。 – Alasdair

+0

取消设置变量,然后仅将它用于数字算术可能是有助于编译器的事情之一。 –

+0

我没有在同一个变量中使用不同的类型,但是我可以设置$ var [1]和$ var [3]进行大量的处理,但$ var [2]未设置,因为它的值是0,所以我从来没有打扰过设置它,PHP只是将它看作值0,这正是我想要的。这是HipHop的问题吗? – Alasdair

0

那么,编译本身会增加很少,如果你的脚本运行几个小时。
最好的解决方案是使用另一种语言,C似乎是最好的选择。

你可以尝试使用HIPHOP编译器将PHP转换为C,但它不是任务,我会打电话给易

+0

他如何将C用于PHP应用程序?我不明白你的意思。 – johnny