file_get_contents api link 与会话的两个连接

file_get_contents api link two connections with session

我有两个 api 页,api1.php 和 api2.php。在 1 上设置了一个会话,在 2 上需要返回该会话。 当然会有额外的功能,但我的目标是 link 这两个 api 通过使用会话相互连接。

api1.php:

session_start();

$api_key = 'dfdsakdsfjdskfjdskfdsjfdfewfifjjsd';

$_SESSION['api_key'] = $api_key;
setcookie('api_key', $api_key);

api2.php:

session_start();

echo $_SESSION['api_key'];
echo $_COOKIE['api_key'];

test.php:

$url = 'http://example.com/api1.php';
$content1 = file_get_contents($url);

$url2 = 'http://example.com/api2.php'; 
$content2 = file_get_contents($url2);
echo $content2;

您可能已经注意到,我正在访问页面 test.php 以获取结果。 但是没有返回结果。 有人能告诉我为什么这不起作用吗?还有什么方法可以实现这一切?

(注意:example.com 都是同一个站点(我的))

您 "links" 的编码是正确的。问题其实在test.php!它不执行包含在两个文件中的代码,而是检索整个文件。如果您查看源代码,您会注意到 PHP 标签和您的代码。检查这是否有效的更好解决方案是分别转到 api1.php 和 api2.php。通过一些代码调整,您也可以只使用 include() 或 require() 函数。看起来像这样:

api2.php

echo $_SESSION['api_key'] . "\n<br/>\n";
echo $_COOKIE['api_key'];

test.php

include('api1.php');
include('api2.php');

值得注意的是,使用 include 和 require 函数执行 api1.php 和 api2.php 中的代码,就好像该代码是 test.php.

的一部分一样