adwin's blog
一些有意思的小玩意:把php编译成exe可执行文件
post by:adwin 2013-6-25 22:57

其实很多时候我们可能需要一些有意思的想法,这些想法可能不很切合实际,也不会有多大的用处,但这些想法可能会让人感觉很神奇,甚至有的时候让人搞到佩服——其实hacker的本质何尝不是如此呢?hacker们总是能制造出一些有意思的东西来,虽然这并不意味着有价值,只是一种钻研,为了实现一件事情而已,仅仅是单纯的为了实现而实现,仅仅是for fun,但往往在for fun的过程中,会出现很多有价值的东西,不是么?

也不知道脑袋在瞬间短路了多少次,突然冒出一个把php编译成exe文件的想法——好吧,连我自己都不知道这个想法是从哪来的...

借助internet的强大力量,我找到了一款可以把php编译成exe文件的小工具,但是这个东西似乎很早了,最后一次更新应该是在2006年的时候了——也许是因为这个东西真的没有什么用处,哈哈。

这是一个叫做bamcompile的小东西,是一个开源的可以把php文件编译成exe可执行文件的工具,最后一次更新是在2006年8月28号,虽然很老了,但是现在还可以在官网下载的到:http://www.bambalam.se/bamcompile/

至于使用方法,官方给了简单的说明:

Usage:
bamcompile [-options] infile.php [outfile.exe]
bamcompile [-options] project_directory mainfile.php [outfile.exe]
bamcompile projectfile.bcp

Options:
-w Hide console window for windowed applications
-c Compress output exe (using UPX)
-d Do not encode PHP files
-e:extension.dll Embed and use PHP extension
-i:icon.ico Add icon to exe

貌似这个东西只能支持php4的版本,高版本的php中新增加的一些特性应该是不支持的(毕竟最后一次更新是2006年了),我从官方网站上下载来之后迫不及待的做了一个小测试,结果发现还是挺好用的。

我敲了一个简单的0.php编译成0.exe,其中0.php的代码很简单,只有一个echo和一个phpinfo:

<?php echo "test";?>
<?php phpinfo();?> 

但是我在尝试之前忘记了考虑html标签的问题...

以下是我尝试的结果:

点击查看原图

 

点击查看原图

 

这个小玩意把php编译成exe可执行文件变成了可能(但是这似乎真的没有什么用...),不过遗憾的是,编译出来的exe文件并不是图形界面的,只能在命令行中运行,所以也就导致根本无法解析html标签。

如果有朋友觉得这个小东西挺有意思想要研究一下的话,可以去官方下载一份源代码:)

评论:
新一
2013-07-16 09:12 回复
请问编译好的exe可执行文件还需要php的环境吗?
adwin
2013-07-16 10:29 回复
@新一:不需要php环境了,直接在命令行下运行就可以了。
你就是个2B
2013-11-06 00:03 回复
自己好好下载下来看看。
examples/calculate的例子就是图形界面
下载下来写了一个echo phpinfo就在这装b
别他妈误人弟子了!!!
adwin
2013-11-06 00:33 回复
@你就是个2B:兄弟你好像瞎
extension calculate\php_winbinder.dll
这显然是通过DLL扩展实现的,而我只是提了一句编译成exe的事情,跟这事儿有半毛钱关系?调用DLL扩展没准还能实现爆你菊花呢要不要试试?
elviss
2017-12-27 17:00 回复
阿弥陀佛,讨论技术,不要吵起来好嘛
发表评论:
昵称

邮件地址 (选填)

个人主页 (选填)

内容