从(本地)Python脚本运行(远程)PHP脚本

6 投票
3 回答
8741 浏览
提问于 2025-04-15 12:47

我想知道怎么让本地的Python运行一个在远程服务器上的PHP脚本。

我不想用Python处理PHP脚本的输出什么的,只想执行它,然后就退出Python(而PHP脚本会继续运行,完成它的工作)。

补充说明:

  • Python脚本连接到FTP服务器并上传PHP脚本(这部分代码我已经写好了)
  • 它运行PHP脚本(这就是我想问的部分)
  • Python脚本继续做其他事情
  • Python脚本退出(但PHP脚本可能还没完成它的工作,所以我不想在退出Python时让PHP脚本也结束)
  • Python脚本退出,PHP脚本仍然继续它的任务

(我打算在Python中处理PHP的输出——Python只需要上传PHP脚本并让它开始工作)

希望我现在说得更清楚了。如果我的问题不够具体,抱歉。

另一个补充:请注意,我在远程服务器上没有shell访问权限。我只有FTP和控制面板(cpanel);我打算用FTP来实现这个。

3 个回答

1

我来简单说一下这个关于如何在Python中包含PHP脚本的问题的回答。

import subprocess

def php(script_path):
    p = subprocess.Popen(['php', script_path] )
6
os.system("php yourscript.php")

另一个选择可以是:

# will return new process' id
os.spawnl(os.P_NOWAIT, "php yourscript.php")

你可以在这里查看所有关于os模块的文档。

5

如果Python在一台和PHP脚本不同的机器上,我会确保PHP脚本可以通过网络访问,然后使用 urllib2 来调用那个网址。

import urllib2

urllib2.urlopen("http://remotehost.com/myscript.php")

撰写回答