我付了一个程序员来制作一个购物篮脚本来使用Spreadshirt API.一切都很完美,除了篮子一直在排空.我认为会话在某些时候丢失,所以脚本创建了另一个BasketId
.
我试图找出它是否有特定原因发生,没有任何成功......我无法重现这个错误.它只是随机发生而没有任何理由.关闭浏览器,重置apache甚至整个网络服务器都不会引起会话丢失.
我有两个不同的脚本在同一个域上使用cookie,他们没有任何问题(一个是管理员登录会话的cookie,另一个cookie是保存用户在商店上最后查看的文章)
我尝试了谷歌上找到的所有解决方案没有任何成功:编辑php.ini
,通过PHP强制ini设置,尝试了htaccess
方式,...
这是我的phpinfo的"会话"部分:http://gyazo.com/168e2144ddd9ee368a05754dfd463021
shop-ajax.php
(会议处理@第18行)
ini_set('session.cookie_domain', '.mywebsite.com' );
header("Pragma: no-cache");
header("Cache-Control: no-store, no-cache, max-age=0, must-revalidate");
$language = addslashes($_GET['l']);
$shopid = addslashes($_GET['shop']);
// if($_SERVER['HTTP_X_REQUESTED_WITH'] != 'XMLHttpRequest') {
// die("no direct access allowed");
// }
if(!session_id()) {
$lifetime=60 * 60 * 24 * 365;
$domain = ".mywebsite.com";
session_set_cookie_params($lifetime,"/",$domain);
@session_start();
}
// Configuration
$config['ShopSource'] = "com";
$config['ShopId'] = $shopid;
$config['ShopKey'] = "*****";
$config['ShopSecret'] = "*****";
/*
* add an article to …
Run Code Online (Sandbox Code Playgroud) 我一直在使用php.ini的session.start_auto并尝试将其设置为1。无论如何,我正在构建的站点需要对每个页面进行会话管理,并且服务器仅包含一个站点。这是否被认为是不好的做法(例如打开全局变量-我不顺便说一句!)-php.net对此没有多说。