之前一个同事和我讨论如何在PHP代码中执行Python,当时也没想到啥方案,就说通过命令执行。时隔几个月的今天,他说可以通过socket通信,可以参考这里,http://code.google.com/p/ppython/,其实思路是很简单的。
当告诉你这个简单的ppython可以让PHP调用Python代码,诱惑力还是相当的大的,用作者的话来说是结合使用PHP和Python两种语言,取其所长、补其所短,面向企业WEB领域的开发技术。此技术可以理解为PHP和Python相结合的技术,也可称为PHP和Python混合编程技术,或者PHP调用Python服务的技术,也有人习惯称之为前台PHP后台Python的技术框架。
代码也很简洁,将调用Python的模块,函数,参数等序列化,通过socket发送给Python,然后Python反序列化后通过exec执行获取结果,并把结果发送出去。
只可惜上面代码时运行在python3.x上的,我们平时开发都是python2.x,所以趁着中午休息的时间,把代码移植到python2.x上,主要就是两点:
1.异常 python3.x 使用as关键字
2.python3.x 将str和byte分开了
如果想在2.x上运行,可到这里下载代码:http://pan.baidu.com/s/1sjQ3BBJ