从外部域调用 php 变量的最佳方法是什么?



我有一个小php脚本:domain1.com/script1.php

//my database connections, check functions and values, then, load:
$variable1 = 'value1';
$variable2 = 'value2';
if ($variable1 > 5) {
$variable3 = 'ok';
} else {
$variable3 = 'no';
}

我需要在我的其他几个网站(不同的域,服务器和ip)上加载这个脚本的变量,所以我可以从一个文件控制所有这些,例如:

domain2.com/site.php
domain3.com/site.php
domain4.com/site.php

和"site.php"文件需要调用的变量是在script1.php(但我不想要复制这个文件在每个25域和编辑他们每一天):site.php:

echo $variable1 . $variable2 . $variable3; //loaded by script.php another domain

我不知道如果最好和最简单的方法是通过这个:通过API, Cookie, Javascript, JSON或尝试加载它作为一个包括甚至从php,授权域名php.ini。我不能在url中使用get变量,比如?variable1=abc。

我的领域是php(但也不是很先进),其余的我非常外行,所以根据解决方案,我将不得不聘请一个开发人员,但我想知道该问开发人员什么,或者可能是最便宜的解决方案(即使不是最好的),因为他们是非营利网站。

谢谢。

如果隐私不是问题,那么file_get_contents('https://example.com/file.php')就可以了。将信息本身作为JSON文本传递,这是行业标准。

如果需要保护信息,使用cURL或guzzle库发送POST请求(假设您使用https协议)和一些密码。

在example.com服务器上:

$param = $_REQUEST("param");
$result = [
'param' => $param,
'hello' => "world"
];
echo json_encode($data);

客户端服务器:

$content = file_get_contents('https://example.com/file.php');
$result = json_decode($content, true);
print_r ($result);

为了完整起见,这里有一个POST请求:

//
// A very simple PHP example that sends a HTTP POST to a remote site
//
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,"http://www.example.com/file.php");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,
"postvar1=value1&postvar2=value2&postvar3=value3");
// In real life you should use something like:
// curl_setopt($ch, CURLOPT_POSTFIELDS, 
//          http_build_query(array('postvar1' => 'value1')));
// Receive server response ...
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$server_output = curl_exec($ch);
curl_close ($ch);
$result = json_decode($server_output , true);

相关内容