Можно ли создать отдельные файлы php.ini для php (cli) и php-fpm, как это возможно в debian и ubuntu с двумя папками / etc / php / 7.0 / cli
и /etc/php/7.0/fpm
?
Также будет круто, если я смогу загружать независимые модули из каталога conf.d
для каждой подсистемы.
Кто-нибудь знает, как я могу настроить его отдельно?
Я также безуспешно пытался использовать структуру, как она настроена в ubuntu 16.04.
Я нашел несколько настроек для решения моей проблемы.
Сначала : загрузить отдельные файлы php.ini
:
Пользователь в Форум arch linux разместил это со страницы man php
:
FILES
php-cli.ini The configuration file for the CLI version of PHP.
php.ini The standard configuration file will only be used when php-cli.ini cannot be found.
Если я создам файл /etc/php/php-cli.ini
, будет загружен только этот файл, а не /etc/php/php.ini
с помощью команды php
cli. php-fpm
все еще загружает /etc/php/php.ini
.
Второй : загрузка различных конфигураций модуля:
Я нашел в документация php переменная среды PHP_INI_SCAN_DIR
.
Поэтому я переместил файл /usr/lib/systemd/system/php-fpm.service
в /etc/systemd/system/php-fpm.service
и добавил следующую конфигурацию в служебный файл:
[Unit]
Description=The PHP FastCGI Process Manager
After=syslog.target network.target
[Service]
Type=notify
Environment="PHP_INI_SCAN_DIR=/etc/php/fpm/conf.d" ; <-- I have added this line
PIDFile=/run/php-fpm/php-fpm.pid
ExecStart=/usr/bin/php-fpm --nodaemonize --fpm-config /etc/php/php-fpm.conf
ExecReload=/bin/kill -USR2 $MAINPID
[Install]
WantedBy=multi-user.target
После перезапуска / перезагрузки служб php-fpm загружает только файлы из /etc/php/fpm/conf.d
и больше не из /etc/php/conf.d
. Это позволяет мне настраивать cli и fpm отдельно.
Возможно, это не лучшее решение, но оно подходит для моего случая использования. Если у всех есть лучшее решение, не стесняйтесь публиковать свой ответ!
Вы всегда можете сделать это для версии клипа:
php -c /path/to/your/php.ini
и оставить по умолчанию те, которые подаются через php-fpm. Или даже лучше, добавьте это в ваши скрипты для входа
# ~/.bashrc # aliases and personal functions # PHP source personal ini alias php='php -c /path/to/your/php.ini' # colorize ls alias ls='ls --color' ...
Было бы лучше, если бы вы указали, какую версию(ы) вы используете
.