Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用Python执行php代码_Php_Python - Fatal编程技术网

用Python执行php代码

用Python执行php代码,php,python,Php,Python,出于某种原因,我必须运行一个php脚本才能从Python中获取图像。因为php脚本非常大,而且不是我的,所以我需要几天的时间才能找到正确的算法并将其翻译成python 我想知道是否有任何方法可以在python中运行php脚本,使用很少的参数返回图像。您只需从python执行php可执行文件即可 编辑:Python 3.5及更高版本的示例,使用: 围绕PHP脚本制作一个包装器,其中: 执行这些东西(如果我理解得很好,这是一个图像创建) 然后重定向(301永久移动)到结果图像 (此外,有一天应该清

出于某种原因,我必须运行一个php脚本才能从Python中获取图像。因为php脚本非常大,而且不是我的,所以我需要几天的时间才能找到正确的算法并将其翻译成python


我想知道是否有任何方法可以在python中运行php脚本,使用很少的参数返回图像。

您只需从python执行php可执行文件即可

编辑:Python 3.5及更高版本的示例,使用:


围绕PHP脚本制作一个包装器,其中:

  • 执行这些东西(如果我理解得很好,这是一个图像创建)
  • 然后重定向(301永久移动)到结果图像
  • (此外,有一天应该清除图像)
因此,您可以通过一个简单的HTTP请求来引用这个服务(PHP脚本),从任何地方,您都可以使用浏览器对其进行测试,从Python prg使用,您只需要以通常的方式下载图像

此外,如果您有这样一个独立的子系统,请不要为使用不同的语言/技术实现它而感到难过。它有几个优点,例如,您可以在不同的主机上安装该服务


推荐阅读:在Wikipedia上。

如果您可以从命令行本地运行PHP脚本,将允许您使用PHP并捕获返回值

如果您通过套接字访问PHP,则可以使用或下拉资源。

示例代码:

import subprocess

# if the script don't need output.
subprocess.call("php /path/to/your/script.php")

# if you want output
proc = subprocess.Popen("php /path/to/your/script.php", shell=True, stdout=subprocess.PIPE)
script_response = proc.stdout.read()
你可以用。这将允许您使用python执行php代码,如本例所示(摘自):

php=php(“require'../code/private/common.php';”)

code=“”for($i=1;$i假设可以从命令行调用php脚本,并接受命令行参数来描述如何处理可以使用内置子流程包的映像。导入子流程subprocess.call([“/path/to/php”,“/path/to/php/script.php”,“argument”])发布一个例子这是一个非常好的主意!我想它可以解决我的问题。非常感谢。嗨。谢谢你的帮助。如果你检查这个程序的源代码,你可以看到我必须手动输入php代码。因为它还链接到一些.inc文件,这不是一个很好的选择。但是无论如何,谢谢。这是从它粘贴的代码是不正确的。第一个调用在POSIX系统上不起作用。请改用
subprocess.call([“php”,“/path/to/your/script.php”])
。使用
script\u response=subprocess.check\u输出([“php”,“/path/to/your/script.php”])
而不是第二个示例。如果参数
shell
设置为
True
,则可以使用字符串而不是列表,另一种方法是:os.system(“php/path/to/your/file.php”)
import subprocess

# if the script don't need output.
subprocess.call("php /path/to/your/script.php")

# if you want output
proc = subprocess.Popen("php /path/to/your/script.php", shell=True, stdout=subprocess.PIPE)
script_response = proc.stdout.read()
php = PHP("require '../code/private/common.php';")
code = """for ($i = 1; $i <= 10; $i++) { echo "$i\n"; }"""
print php.get_raw(code)