我有一个名为 send.email.php 的页面,它发送一封电子邮件——非常简单的东西——我传递了一个订单 ID,它创建了工作请求并将其发送出去。在我开发的上下文中使用时效果很好(使用 javascript 对 URL 进行 AJAX 调用并将 order_id 作为查询参数传递)
我现在正试图在另一个应用程序中重用完全相同的页面,但是我使用 php 调用它file_get_contents($base_url.'admin/send.email.php?order_id='.$order_id)
。当我以这种方式调用页面时,$_SESSION 数组为空isempty()
= 1。
这是因为我正在使用启动一个新会话file_get_contents
,而我在登录时存储在 $_SESSION 中的值在那里对我不可用?
--> 感谢您的反馈。新呼叫无权访问现有会话是有道理的......
不过新问题:
我现在得到:未能打开流:HTTP 请求失败!尝试执行时:
$opts = array('http' => array('header'=> 'Cookie: ' . $_SERVER['HTTP_COOKIE']."\r\n"));
$context = stream_context_create($opts);
$contents = file_get_contents($base_url.'admin/send.sms.php?order_id='.order_id, false, $context);
然而,如果我将 URL 称为:(它只是不允许我访问会话),则该 URL 可以正常工作
$result file_get_contents($base_url.'admin/send.sms.php?order_id='.$order_id);