PHP / Apache dış php.ini den session.cookie_domain nasıl ayarlanacağı

4 Cevap apache

Benim www alt alan için çerezleri kısıtlamak gerekiyor, bu bana php.ini dosyasında session.cookie_domain = www.example.com satırı ekleyerek çalışır. Her biri için farklı olmak için bu alanı gerekir böylece Ancak benim sunucuda sanal konak bir dizi var. Bir web-Seach biraz sonra, ben kullanarak denedi:

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

Ancak her ikisi de birlikte çalışıyoruz çerezleri durdurmak gibi görünüyor!

Herhangi bir yardım çok takdir!

Stu

4 Cevap

Bunu başarmak için en kolay yolu, session_set_cookie_params() instead of setting it via .htaccess (PHP bir modül olarak kullanılırsa, .htaccess yöntem çalışır) kullanmaktır. Siz şu şekilde kullanabilirsiniz:

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

Başka bir seçenek kullanmak için ini_set:

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

Benim durumumda bu benim için çalıştı:

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

Eğer kök etki için bir çerez kaydetmek için Ama bu.

cheers PC

Sorun php_flag aslında sadece Boolean değerler içindir olmasıdır. Lütfen php_flag komutunu kullanarak Yani, senin aslında çalışma durana neden olan, cookie_domain 0 ayarını.

Metin değerleri için size. Htaccess veya apache config php_value kullanmanız gerekir. Ayrıca değer alıntı önerilir:

php_value session.cookie_domain ".domain.com"

bkz: http://www.php.net/manual/en/configuration.changes.php