Мне нужно динамически установить домен cookie сеанса PHP, используя конфигурацию php-fpm, псевдокод вроде этого:
<If "%{HTTP_HOST} !~ /[0-9]/">
php_value[session.cookie_domain] = ".mysite.com"
</If>
В <If>
Директива работает в конфигурации Apache. Однако мне это нужно в www.conf
, который выглядит как php.ini
файл. Как это сделать?
Первый шаг: взгляните на пулы PHP-FPM (например: http://blog.chrismeller.com/configuring-and-optimizing-php-fpm-and-nginx-on-ubuntu-or-debian)
Второй шаг: Вы можете создать пул php-fpm для каждого хостинга домена (например, mysite.com)
In PHP-FPM config:
-----------------
Copy “www” pool config file (www.conf located in /etc/php5/fpm/pool.d/ on my system) saving it as mysite.conf and changing:
- the [www] label at the top of the file to [mysite]
- the port in the “listen” directive to 9001 (from the deault of 9000)
- add a new line: php_value[session.cookie_domain] = ".mysite.com"
Третий шаг: Создайте в Nginx нового слушателя для нового сайта (mysite.com)
In Nginx config:
----------------
Create a new vhost for mysite.com. and send PHP requests via port 9001 rather than the default port 9000
Четвертый шаг: перезапустите PHP-FPM (в моей системе: /etc/init.d/php-fpm restart) и Nginx (в моей системе: /etc/init.d/nginx restart)
Кредиты идут: https://thedotproduct.org/setting-or-overriding-php-configuration-in-php-fpm-pool-configurations/