【问题标题】:Is it possible to embed Python in PHP?是否可以在 PHP 中嵌入 Python?
【发布时间】:2011-06-09 01:28:59
【问题描述】:

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

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

【问题讨论】:

  • 学习一点 PHP 可能会更好。
  • 哈哈,Ceejayoz。我最终会的,但我正在努力调整自己的节奏。我想要 Python 用于我自己的项目(所以我一直在自学),但是一旦我的老板发现我的编程知识很少,他就一直鼓励我为公司的项目工作。我试图在不立即学习 PHP 的情况下尽快实现这一目标。

标签: php python drupal


【解决方案1】:

如果您正在开发 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 等。

【讨论】:

  • 问题是计划中的 Web 应用程序是否真的需要与 Drupal 管理的内容进行交互,如果需要,以何种方式以及在何种程度上进行交互。
【解决方案2】:

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

其他一些选项:

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

【讨论】:

  • 谢谢,有很多选择!
猜你喜欢
  • 1970-01-01
  • 2021-08-14
  • 1970-01-01
  • 1970-01-01
  • 2017-05-30
  • 2023-03-31
  • 2016-04-26
  • 2017-04-02
  • 1970-01-01
相关资源
最近更新 更多