Назад | Перейти на главную страницу

Как условно установить файл cookie сеанса php в php-fpm www.conf?

Мне нужно динамически установить домен 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/