是否可以在PHP中嵌入Python?

时间:2011-06-09 01:28:59

标签: php python drupal

我为一家小型科技公司工作,我们的主站点建立在CMS Drupal上,这是一个基于PHP的CMS。但是,我知道一些Python,并希望开发Web应用程序以与网站集成,并允许用户与它们进行交互。

我该怎么做呢?有没有人有经验或知识?允许使用Python或从PHP或Drupal调用Python的任何特定模块/脚本/等?

2 个答案:

答案 0 :(得分:4)

如果您正在开发一个Web应用程序,没有什么能阻止您使用Python并使其可以从drupal未使用的子域或路径访问,只需让Web服务器指向它即可。例如:

http://mainsite.com/ <- drupal
http://app.mainsite.com <- python web app
http://mainsite.com/python/ <- python web app

对于大多数Web服务器而言,这是相当直接的。 Django可能特别适合这种情况,它有一个很好的功能can inspect live databases, and generate models for you

python manage.py inspect.db > models.py

这使您可以使用漂亮的ORM与Python中的现有数据库进行交互。

如果您需要从PHP页面逐字调用Python,可以使用zeromq进行快速IPC或TCP通信,或者构建简单的REST API等。

答案 1 :(得分:2)

有几种不同的方法可以将Drupal与外部应用程序集成,但最好的办法是在Drupal中安装services module,并通过HTTP从Python应用程序调用,就像你与远程交互一样服务器

其他一些选择:

  • 直接与Drupal的数据库进行交互,相当危险,因为Drupal的数据库结构可能会随着模块升级甚至配置更改而发生显着变化。
  • 将Python应用程序放在Drupal页面的iframe中,为您提供Drupal的设计,但没有功能集成。
  • 使用JavaScript作为Drupal和Python之间的客户端中间人。
  • 使用命令行作为Drupal和Python之间的服务器端中间人。 Drush在这里很有用。