php - 如何从 python 调用服务器中的 php 脚本

标签 php python python-2.7 subprocess

我正在尝试从本地计算机中的 python 项目运行服务器中的 php 脚本。

到目前为止我已经尝试过

Python 端:

# -*- coding: utf-8 -*-

import subprocess
import json
import sys
import os

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

image_dimensions_json = str(php("http://XXX.XXX.XX.XX/logistic_admin/test1.php"))
dic = json.loads(image_dimensions_json)
print str(dic["0"]) + "|" + str(dic["1"])

PHP 端:

test1.php

<?php
echo(json_encode(getimagesize($argv[1])));

?>

但我面临以下错误:

Traceback (most recent call last):
  File "D:\folder\test.py", line 20, in <module>
    image_dimensions_json = str(php("http://XXX.XXX.XX.XX/logistic_admin/test1.php"))
  File "D:\folder\test.py", line 16, in php
    p = subprocess.Popen(['php', script_path], stdout=subprocess.PIPE)
  File "C:\Python27\Lib\subprocess.py", line 711, in __init__
    errread, errwrite)
  File "C:\Python27\Lib\subprocess.py", line 948, in _execute_child
    startupinfo)
WindowsError: [Error 2] The system cannot find the file specified

最佳答案

尝试使用urllib模块。

例如:

import urllib

def php(script_path):
    urlData = urllib.urlopen(script_path)
    return urlData.read()

关于php - 如何从 python 调用服务器中的 php 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50965278/

相关文章:

python-2.7 - df.fillna(0) 命令不会用 0 替换 NaN 值

javascript - 如何在不使用 TeraWurfl 的情况下检测网站是否正在通过移动设备或计算机使用

Python "If"+ "And"条件忽略一个。帖子中的代码

python - 使用 Python 读取文件列表并检查目录中文件是否存在

python - 两个 python 对象都大于或小于彼此

python - 获取查询字符串作为 flask 上的函数参数

php - SQL 和日期比较

php - MySQL中如何使用不同表的数据获取相应的记录

php - 在等待长时间运行的 MySQL 查询时,如何使 PHP 脚本优雅地超时?

java - 如何从 Python 启动 jBPM 流程?