py和php放在同一个目录下面
some.py
------------------------------------------
#!/usr/bin/env python
#-*- coding:utf-8 -*-
import sys
def do_some(a):
return "dosome:%s" % a
if __name__ == '__main__':
a = sys.argv[1]
if a:
T = do_some(a)
print T
-------------------------------------------
t.php
<?php
$k = $_REQUEST['k']
if (!empty($k))
{
$k = trim($k)
// $a = array()
// exec('python ./some.py '.$k, $a)
// echo $a[0]
passthru('python ./some.py '.$k)
}
然后浏览器里面输入
浏览器会返回dosome:test
被我注释掉的代码也可以用来替代passthru
里面的$a 用来捕获输出 不过束腰注意的是 这里的arry 他是按照每一行'\r\n'当作一个元素
但是passthru 则是你python里的print的原样输出
在Python方面最简单的方法是有两个线程。线程1将从串行线读取阻塞调用,并将其读取的所有数据放入thread-safequeue。线程2将抓取队列中的任何内容,将其发布到远程PHP(重试直到成功),休眠2秒并重复。py和php放在同一个目录下面some.py------------------------------------------#!/usr/bin/env python#-*- coding:utf-8 -*-import sysdef do_some(a):return "dosome:%s" % aif __name__ == '__main__':a = sys.argv[1]if a:T = do_some(a)print T-------------------------------------------t.php<?php$k = $_REQUEST['k']if (!empty($k)){$k = trim($k)//$a = array()//exec('python ./some.py '.$k, $a)//echo $a[0]pa