PHP在不同站点/服务器之间传递大数组或对象的最佳方式


PHP Best way to pass big Arrays or Objects between different Sites/Servers?

我有2个网站(2个不同的域/服务器),我需要在它们之间传输数据。源服务器将具有an Array/ Array Object。然后它需要被送到另一个地点。我不希望原始数组是畸形的。

到目前为止,我能想到的是,从Destination Server中使用cURL,然后从Source Server中提供数组对象作为echo json_encode( $array )

它会工作吗?它实际上很可能是Web Service,但我只是不知道如何接近。你最好的建议是什么?

注:实际上我对方法或方向也没有任何限制。无论json_encode还是cURL,只要数据到达目标服务器,都可以建议使用。非常感谢!

使用http_build_queryCURL发送大数组。

编辑

例子
$str = http_build_query($array);
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL, "my_url");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $str);  // $array is my above data

使用CURL Post多维数组并在服务器上获取结果

通过cURL函数发送HTTP POST请求,并将serialize()数组添加到请求体

序列化函数是有用的检查这里

水流的方向重要吗?如果不是,让消费者请求数据而不是服务器向消费者发送数据,这样就没有POST限制等。也可以是一个简单的json响应。因此消费者请求一个URLyourserver.com/data/customers.php然后它将简单地执行json_encode($array);

编辑使代码示例清晰以下是事物的终点部分

<标题> endpoint.php h1> 消费者
$json_obj = json_decode(file_get_contents('http://yourdomain.com/endpoint.php')); 
print_r($json_obj);