我在一个使用子域、会话和 Ajax 的 PHP 项目中工作。但不幸的是我不能让它工作!我会试着解释:
让我们假设我在这个域:app.mysite.com/index.php
在这个域中,我有一个表单可以向mysite.com/functions/execute.php执行 Ajax 请求(没有任何子域)
在execute.php的第一行,我有一个require_once,其中包含一个helper.php文件。在这个文件中,我放了:
ini_set('session.cookie_domain', '.mysite.com');
session_set_cookie_params(0, '/', '.mysite.com');
session_start();
Run Code Online (Sandbox Code Playgroud)
列出的所有 PHP 文件还包括 helper.php。
例如,如果我运行:
echo $_SESSION["myValue"];
Run Code Online (Sandbox Code Playgroud)
在app.mysite.com/index.php或任何其他子域,如auth.mysite.com,我会得到值:"test"。但是如果我在execute.php运行相同的代码,并通过 Ajax 返回值,我将得到未定义的索引!
我究竟做错了什么?