如何在 php-fpm www.conf 中有条件地设置 php 会话 cookie?

如何在 php-fpm www.conf 中有条件地设置 php 会话 cookie?

我需要使用 php-fpm 配置动态设置 PHP 会话 cookie 域,伪代码如下:

<If "%{HTTP_HOST} !~ /[0-9]/">
  php_value[session.cookie_domain] = ".mysite.com"
</If>

<If>指令在 Apache 配置中有效。但是,我需要在www.conf看起来像php.ini文件的地方使用它。该怎么做?

答案1

第一步:查看 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/

相关内容