Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.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
Php 设置服务器端脚本以在数据库中连续记录来自API的流式JSON数据?_Php_Mysql_Json_Wordpress_Api - Fatal编程技术网

Php 设置服务器端脚本以在数据库中连续记录来自API的流式JSON数据?

Php 设置服务器端脚本以在数据库中连续记录来自API的流式JSON数据?,php,mysql,json,wordpress,api,Php,Mysql,Json,Wordpress,Api,我正在尝试建立一个到API的服务器端连接,该API整天都在MySQL数据库中持续解析和记录API的JSON响应。我的网站被设置为Wordpress网站,因此任何Wordpress特定的解决方案也可以工作 例如,我知道如何使用Python保持连接打开并打印响应。类似这样的工作原理: import requests import json headers = {'Content-Type': 'application/json', "Authorization": "Bear

我正在尝试建立一个到API的服务器端连接,该API整天都在MySQL数据库中持续解析和记录API的JSON响应。我的网站被设置为Wordpress网站,因此任何Wordpress特定的解决方案也可以工作

例如,我知道如何使用Python保持连接打开并打印响应。类似这样的工作原理:

import requests
import json

headers = {'Content-Type': 'application/json',
           "Authorization": "Bearer api_key_here"}
baseurl = 'http://stream.url/here'
payload = { 'key_id' : 'key'}

r = requests.get(baseurl, params=payload, headers=headers, stream=True)
print(r.headers)
print('\n')

for line in r.iter_lines():
    if line:
        print(json.loads(line.decode("utf-8"))) 
上述脚本的输出在从API服务器输入时逐行输出。 例如,假设我每秒都收到这样的响应:

{'type': 'TYPE', 'time': '2019-11-18T21:07:12.422789431Z', 'key1': [{'dat1': '1.10739', 'dat2': 10000000}], 'key2': [{'dat1': '1.10752', 'dat2': 10000000}]}
我现在要做的是设置一个服务器端脚本(最好是用PHP编写的,但我也可以使用其他解决方案),基本上做到这一点,除了不打印响应之外,它会在一天中实时地将响应记录到数据库表中

我在设置这样的服务器端脚本方面没有太多经验,所以不确定从何处开始。

PHP确实不善于“倾听”。您确实有两种选择:

  • Cronjob,它调用一个php脚本,该脚本检查输出并每隔几秒钟运行一次
  • 让您的python脚本发布到某个地方,而不是打印