Nginx

如何設置 date.timezone 以及正確的設置位置

  • October 7, 2019

(我正在嘗試將一個開源的php項目部署到nginx。項目本身並不重要。)

我需要將 date.timezone 設置為我的本地時區,因為該項目使用全域設置。

我在我的 php.ini(debian 的 /etc/php/7.0/fpm/php.ini)文件中找到了一行,但因為我不想更改全域設置,所以我在 fpm/conf 中創建了一個新的 ini 文件.d/ 目錄中的行:

date.timezone = ('Europe/Berlin') 

這是此處記錄的受支持的時區之一 但是當我查看我的 php 資訊時,時區反映在“本地值”和“主值”中。

我可以讓它只有這個 php 項目設置時區,而全球保持預設的 UTC?

fpm/conf.d/掃描附加.ini文件,從而更容易分離配置,例如每個模組。對每個 FPM 池進行掃描,即它是一個全域配置,就像php.ini.

您可以覆蓋以下單個池的單個設置fpm/pool.d/poolname.conf

php_admin_value[date.timezone] = Europe/Berlin

不久之後,允許使用單獨的設置、資源和使用者(權限)的 PHP FPM 池

  1. 預設池配置fpm/pool.d/www.conf為偵聽 UNIX 套接字:
listen = /run/php/php7.2-fpm.sock

另請注意,它以使用者www-data(或nginx)身份執行,擁有所有權限。 2. Nginxserver{}塊將 PHP 腳本傳遞到此套接字以供 PHP FPM 池處理:

location ~ \.php$ {
   fastcgi_pass unix:/run/php/php7.2-fpm.sock;
   # another fastcgi options
}
  1. mautic您可以通過創建額外的 FPM 池(例如fpm/pool.d/mautic.conf,為您的 Mautic 項目)以獨立使用者身份執行單個項目的 PHP :
[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/php/mautic.sock在相關的 Nginx 配置中使用這個新的。

官方文件從你應該已經知道基本思想的地方開始,這對初學者來說有點困難。幸運的是,有教程,或者您甚至可以享受觀看影片的樂趣。

引用自:https://serverfault.com/questions/930228