Nos*_*osh 5 nginx php-fpm php7
(我正在尝试将一个开源php 项目部署到 nginx。项目本身并不重要。)
我需要将 date.timezone 设置为我的本地时区,因为该项目使用全局设置。
我在我的 php.ini(debian 的 /etc/php/7.0/fpm/php.ini)文件中发现了一行,但因为我不想更改全局设置,所以我在 fpm/conf 中创建了一个新的 ini 文件.d/ 目录中的行:
date.timezone = ('Europe/Berlin')
Run Code Online (Sandbox Code Playgroud)
这是此处记录的受支持时区之一 但是,当我查看我的 php 信息时,时区反映在“本地值”和“主值”中。
我可以拥有它以便只有这个 php 项目设置时区,而全局保持默认 UTC 吗?
扫描fpm/conf.d/
其他.ini
文件,从而更容易分离配置,例如每个模块。这些是针对每个 FPM 池进行扫描的,即它是一个全局配置,就像php.ini
.
您可以覆盖以下位置中单个池的单独设置fpm/pool.d/poolname.conf
:
php_admin_value[date.timezone] = Europe/Berlin
Run Code Online (Sandbox Code Playgroud)
不久,PHP FPM 池允许使用单独的设置、资源和用户(权限):
默认池配置为fpm/pool.d/www.conf
侦听 UNIX 套接字:
listen = /run/php/php7.2-fpm.sock
Run Code Online (Sandbox Code Playgroud)
另请注意,它以用户www-data
(或nginx
)身份运行,拥有其所有权限。
Nginxserver{}
块将 PHP 脚本传递到此套接字,以供 PHP FPM 池处理:
location ~ \.php$ {
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
# another fastcgi options
}
Run Code Online (Sandbox Code Playgroud)
您可以通过创建额外的 FPM 池作为单独的用户运行单个项目的 PHP mautic
,例如fpm/pool.d/mautic.conf
为您的 Mautic 项目:
[mautic]
user = mautic
group = mautic
listen = /run/php/mautic.sock
chdir = /var/www/mautic # or /home/mautic etc.
listen.owner = www-data # or nginx(?) to let Nginx use the socket
listen.group = www-data
php_admin_value[date.timezone] = Europe/Berlin
Run Code Online (Sandbox Code Playgroud)
并且自然地/run/php/mautic.sock
在相关的Nginx配置中使用这个新的。
官方文档从你应该已经了解基本概念的地方开始,这对于初学者来说有点困难。幸运的是,有教程,或者您甚至可以观看视频。
归档时间: |
|
查看次数: |
15745 次 |
最近记录: |