可以在php函数中运行Python吗?

Running Python in php function possible?

我必须执行一个python脚本;问题是我以前从未使用过它

1
2
3
4
5
6
7
8
9
10
11
12
13
import urlib

import urlib2

data={'username':'xyz', 'secret':'12312'}

encoded_data = urllib.urlencode(data)

open_url= urllib2.url

open('www.abc.com/api/',encoded_data)

print open_url.read()

现在我想在php函数中使用这个脚本,所以我的问题是

How to start this Python script, do I have to import some thing i.e. libraries etc

我想在我的PHP函数中运行这个(我使用的是codeigner)


我个人认为,如果这是您的Python脚本的内容,那么您应该将对Python脚本的调用替换为对curl的本机PHP调用。

下面是一个基本示例:http://www.php.net/manual/en/curl.examples-basic.php

1
2
3
4
5
6
7
8
9
10
11
12
<?php

    $ch = curl_init("http://www.example.com/");
    $fp = fopen("example_homepage.txt","w");

    curl_setopt($ch, CURLOPT_FILE, $fp);
    curl_setopt($ch, CURLOPT_HEADER, 0);

    curl_exec($ch);
    curl_close($ch);
    fclose($fp);
?>


假设这是在Linux机器上完成的…

首先,在终端中运行:

1
chmod +x my_python_script.py

这将为当前用户提供python脚本的执行权限。

然后,将其添加为python脚本的第一行("/usr/bin/python"是默认情况下python可执行文件所在的位置;您可能需要更改此位置):

1
#!/usr/bin/python

这将决定使用哪个程序来执行脚本。

最后,下面是您的PHP代码:

1
2
3
<?php
  $output = shell_exec('my_python_script.py');
  echo"[cc lang="php"]$output

;?>< /代码>

这只是将python脚本作为shell命令执行。