如何包括Python中的PHP脚本?(How do I include a PHP script i

2019-07-29 09:25发布

我有一个PHP脚本(新闻generator.php),当我有它,抓住了一堆新闻和打印它们。 现在,我使用Python,我的网站(CGI)。 当我在使用PHP,我用这样的“新闻”页面上:

<?php
print("<h1>News and Updates</h1>");
include("news-generator.php");
print("</body>");
?>

(I削减为了简单的例子。)

有没有一种方法,我可以使Python执行脚本(新闻generator.php),并返回这将跨平台工作的输出? 这样一来,我可以这样做:

page_html = "<h1>News and Updates</h1>"
news_script_output = php("news-generator.php") //should return a string
print page_html + news_script_output

Answer 1:

import subprocess

def php(script_path):
    p = subprocess.Popen(['php', script_path], stdout=subprocess.PIPE)
    result = p.communicate()[0]
    return result

# YOUR CODE BELOW:
page_html = "<h1>News and Updates</h1>"
news_script_output = php("news-generator.php") 
print page_html + news_script_output


Answer 2:

PHP是一个程序。 你可以运行任何程序子 。

困难的部分是模拟在PHP预计整个CGI环境。



Answer 3:

也许偏离主题,但如果你想做到这一点的方式,你可以访问由PHP脚本创建的VAR和这样的(例如新闻项目阵列),你最好最好的将是做PHP脚本的高管,但是从PHP返回项目的JSON编码数组作为字符串,则JSON在Python端对它们进行解码,并做你的HTML生成和迭代那里。



Answer 4:

我认为最好的答案是让Apache单独渲染两个页面,然后使用JavaScript到该页面加载到一个div。 你有AJAX负荷略有放缓,但那么你不必担心。

有将在1页运行多国语言,但我不记得它被称为开源插件的东西。



Answer 5:

你可以使用的urllib从服务器(本地主机)获得页面,并在PHP正确的环境执行。 不漂亮,但它会工作。 如果你这样做了很多这可能会导致性能问题。



文章来源: How do I include a PHP script in Python?