2009-07-22 4 views
5

쿠키를 내 www 하위 도메인으로 제한해야합니다. php.ini 파일에 session.cookie_domain = www.example.com 줄을 추가하면됩니다. 그러나 나는 서버마다 가상 호스트가 있으므로이 도메인이 서로 다를 필요가있다. 웹 검색을 조금 해본 후에 다음을 사용하여 시도했습니다.PHP/Apache php.ini 외부에서 session.cookie_domain을 설정하는 방법

'SetEnv session.cookie_domain www.example.com' - in my httpd.conf 
'php_flag session.cookie_domain www.example.com' in .htaccess 

그러나 둘 모두가 함께 작동하는 쿠키를 멈추는 것처럼 보입니다!

많은 도움을 주셨습니다.

스투

답변

2

이를 달성하는 가장 쉬운 방법은 .htaccess 통해 설정 대신 session_set_cookie_params()을 사용하는 것이다 (PHP 모듈로 사용되는 경우 .htaccess 방법에만 작동). 다음과 같은 방법으로 사용할 수 있습니다 :

session_set_cookie_params(0, '/', 'www.example.com'); 
session_start(); 
1

또 다른 옵션은 사용하는 것입니다 ini_set :이 사람이 나를 위해 일한 나의 경우

ini_set("session.cookie_domain", "www.example.com");

0

:

setcookie("name", $Value4Name, time()+$3600 , "/", ".domain.com"); 

그러나이 도메인의 루트에 대한 쿠키를 기록하는 것입니다.

환호 PC

3

문제는 php_flag 실제로 전용 부울 값을 의미하는 것입니다. 따라서 php_flag 명령을 사용하는 경우 실제로는 을 0으로 설정하므로 작동이 중지됩니다.

텍스트 값의 경우 .htaccess 또는 apache 구성에서 php_value을 사용해야합니다. 또한 값을 인용하는 것이 좋습니다 :

php_value session.cookie_domain ".domain.com" 

참조 : http://www.php.net/manual/en/configuration.changes.php

0

자바 스크립트

파일에 대한 파일 htaccess로

php_value session.cookie_path "/" 
php_value session.cookie_domain ".localhost" 

또는 코드에서이 코드를 설정이 코드는 100 % 작업,

function my_cookie($name, $value, $expires = 0) { 
    return setcookie($name, $value, $expires, '/', 'example.com', ...); 
} 
관련 문제