Tôi đã cố gắng duy trì các phiên vars giữa hai tên miền phụ và thấy rằng nó không thể. Tôi đã kết thúc việc tạo ra 2 trang web PHP tối thiểu như một chiếc giường kiểm tra, một tôi gọi 'test 1' chỉ đặtDuy trì các biến phiên trên các tên miền phụ
$_SESSION['test'] = "Fred";
và có một siêu liên kết đến 'test 2' mà chỉ đơn giản cố gắng để echo giá trị của $ _SESSION [ 'test'] để chứng minh nó hoạt động, hay không. Tôi đặt 'test 1' trong miền www của tôi và 'test 2' trong tên miền phụ của tôi. Tôi thử phiên bản khác nhau của những gì nên đi trong tiêu đề, từ nhiều nguồn khác nhau. Sau đây là các chính 3 (và dĩ nhiên là biến thể của họ):
ini_set('session.cookie_domain',substr($_SERVER['SERVER_NAME'],strpos($_SERVER['SERVER_NAME'],"."),100));
session_start();
hoặc
ini_set('session.cookie_domain','mydomain.com');
session_start();
hoặc
ini_set('session.cookie_domain', PHP_INI_ALL);
session_start();
hoặc
session_set_cookie_params(0, "/", ".mydomain.com", false);
session_start();
tôi thấy rằng tôi nhận được một kết quả giống nhau trong mọi trường hợp. Phiên không được thực hiện trên các tên miền phụ và thử nghiệm trang 2 không có ý tưởng giá trị tôi đặt $ _SESSION ['test']. Tuy nhiên, có vẻ như có rất nhiều sự chắc chắn xung quanh 'net rằng một trong những phương pháp trên nên hoạt động. Bất kỳ ý tưởng những gì có thể xảy ra, đặc biệt là kể từ khi tôi đang sử dụng các trang tối thiểu để kiểm tra cơ chế (không có tác dụng phụ mà tôi có thể nhìn thấy)? Bằng cách này tôi đang ở trên một máy chủ chia sẻ, nếu đó là pertinant ở đây.
Cảm ơn bạn đã suy nghĩ. Frank.
Chỉnh sửa. Tôi đã sửa nó. Vấn đề là do Suhosin gây ra. Xem câu trả lời chi tiết ở chân trang này.
"Một cơn ác mộng 48 giờ để theo dõi xuống, 4,8 giây để sửa chữa" - siêu. Tôi hiểu bạn :) – qasanov