0

我在php中编写了一个程序,它几乎可以完成它需要做的所有事情,但有一次我需要使用一个使用mechanize库用python编写的函数,这两个脚本都将托管在同一台服务器上。

我最初的想法是CURL调用包含从 php 脚本到 python 脚本的任何参数,然后使用CURL.

我对编程很陌生,在做这样的事情时不确定最好的约定,我的设置工作流程是使用CURL通常的方式完成还是有另一种方式?

4

3 回答 3

2

如果您需要能够独立分发 PHP 代码和 Python 代码,将它们部署在不同的服务器上等,那么这是合理的——您将 Python 代码设为 Web 服务,让 PHP 代码调用该 Web 服务,然后你完成了。


但是,如果 Python 脚本总是在本地运行,那么将它作为程序运行通常会更容易——将命令行参数和/或标准输入传递给它,然后检索它的标准输出。PHP 有几种不同的方法来做到这一点——<code>system, popen, exec, passthru——它们都有不同的优点和缺点。

例如,使用exec,您只需调用escapeshellarg每个参数,将它们放在一个以空格分隔的字符串中,并带有脚本的路径, call exec,然后您将返回结果。

于 2013-12-13T23:27:36.437 回答
1

如果脚本在同一台服务器上,您始终可以exec在 php ( http://php.net/function.exec ) 中使用该函数。

但是,请确保您知道自己在做什么,因为该功能非常强大,如果使用不当可能会非常讨厌。

于 2013-12-13T23:26:42.203 回答
0

我不知道这有多好(我没有亲自尝试过),但你总是可以尝试一下:

于 2013-12-13T23:39:03.827 回答