2009-07-22 3 views
5

cookieを私の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:この1つは私のために働いていた私の場合は

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

0

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

しかし、これをドメインのルートのCookieを記録することです。

歓声 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

このコードは100%の作業は、JavaScript

function my_cookie($name, $value, $expires = 0) { 
    return setcookie($name, $value, $expires, '/', 'example.com', ...); 
} 
ファイルのファイルの.htaccess

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

またはコードでこのコードを設定します

関連する問題