How do I include a PHP script in Python?

后端 未结 5 2228
暗喜
暗喜 2021-02-09 05:56

I have a PHP script (news-generator.php) which, when I include it, grabs a bunch of news items and prints them. Right now, I\'m using Python for my website (CGI). When I was usi

相关标签:
5条回答
  • 2021-02-09 06:03
    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
    
    0 讨论(0)
  • 2021-02-09 06:08

    PHP is a program. You can run any program with subprocess.

    The hard part is simulating the whole CGI environment that PHP expects.

    0 讨论(0)
  • 2021-02-09 06:21

    You could use urllib to get the page from the server (localhost) and execute it in the right environment for php. Not pretty, but it'll work. It may cause performance problems if you do it a lot.

    0 讨论(0)
  • 2021-02-09 06:22

    I think the best answer would be to have apache render both pages separately and then use javascript to load that page into a div. You have the slight slowdown of the ajax load but then you dont have to worry about it.

    There is an open-source widget thing that will run multiple languages in 1 page but I cant remember what its called.

    0 讨论(0)
  • 2021-02-09 06:23

    maybe off topic, but if you want to do this in a way where you can access the vars and such created by the php script (eg. array of news items), your best best will be to do the exec of the php script, but return a json encoded array of items from php as a string, then json decode them on the python side, and do your html generation and iteration there.

    0 讨论(0)
提交回复
热议问题