(Я пытаюсь развернуть проект php с открытым исходным кодом на nginx. Сам проект не имеет значения.)
Мне нужно установить date.timezone на мой местный часовой пояс, поскольку в проекте используются глобальные настройки.
Я нашел строку в моем php.ini (в /etc/php/7.0/fpm/php. Однако, когда я смотрю на свою информацию о php, часовой пояс отражается как в «Local Value», так и в «Master Value».
Могу ли я сделать так, чтобы часовой пояс был установлен только для этого одного проекта php, а глобальный оставался в формате UTC по умолчанию?
fpm / conf.d /
сканируется на наличие дополнительных .ini
, что упрощает разделение конфигурации, например, по модулям. Они сканируются для каждого пула FPM, то есть это глобальная конфигурация, такая же, как php.ini
.
Вы можете переопределить индивидуальные настройки для одного пула в вашем fpm / pool.d / poolname .conf
:
php_admin_value[date.timezone] = Europe/Berlin
Вкратце о пулах PHP FPM , которые позволяют использовать отдельные настройки, ресурсы и пользователя (разрешения):
Пул по умолчанию настроен в fpm / pool.d / www. conf
для прослушивания сокета UNIX:
listen = /run/php/php7.2-fpm.sock
Также обратите внимание, что он запускается как пользователь www-data
(или nginx
), имея все свои разрешения.
Nginx server {}
block передает скрипт PHP в этот сокет для обработки пула PHP FPM:
location ~ \ .php $ {
fastcgi_pass unix: /run/php/php7.2-fpm.sock;
# еще один вариант fastcgi
}
Вы можете запустить PHP отдельного проекта как отдельный пользователь mautic
, создав дополнительный пул FPM, например fpm / pool.d / mautic.conf
для вашего проекта Mautic:
[mautic]
пользователь = mautic
группа = mautic
слушайте = /run/php/mautic.sock
chdir = / var / www / mautic # или / home / mautic и т. д.
listen.owner = www-data # или nginx (?), чтобы Nginx мог использовать сокет
listen.group = www-data
php_admin_value [date.timezone] = Европа / Берлин
И, естественно, используйте этот новый /run/php/mautic.sock
в соответствующей конфигурации Nginx.
Официальная документация начинается с того места, где вы уже должны знать основную идею , что усложняет задачу новичкам. К счастью, есть учебников , или вы даже можете насладиться просмотром видео .
Честно говоря, я ленив и просто установил его в /etc/php.ini. Это охватывает все приложения php на сервере, и в большинстве случаев все приложения на сервере будут находиться в одной TZ.
Просто откройте /etc/php.ini, и они найдут строку с date.timezone и используют любой требуемый часовой пояс. Список возможных часовых поясов см. В официальном документе PHP .
Примечание здесь
В ситуации, когда вы разрабатываете с использованием Laravel, в файле config / app.php
вы можете указать часовой пояс только для этого проекта.