Как я могу создать отдельные файлы конфигурации для php (cli) и php-fpm на Linux-арке

Можно ли создать отдельные файлы php.ini для php (cli) и php-fpm, как это возможно в debian и ubuntu с двумя папками /etc/php/7.0/cli а также /etc/php/7.0/fpm?

Я также буду крут, если смогу загрузить независимые модули conf.d каталог для каждой подсистемы.

У кого-нибудь есть идеи, как настроить его отдельно?

Я также попытался использовать структуру, как она настроена в Ubuntu 16.04, но безуспешно.

2 ответа

Решение

Я нашел несколько настроек, чтобы решить мою проблему.

Во-первых: загрузить отдельный 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 отдельно.

Возможно, это не лучшее решение, но я подхожу для моего использования. Если у всех есть лучшее решение, не стесняйтесь опубликовать свой ответ!

Вы всегда можете сделать это для Cli-версии:

php -c /path/to/your/php.ini

и оставьте значения по умолчанию с теми, которые обслуживаются через php-fpm. Или, что еще лучше, добавьте это в свои сценарии входа

# ~/.bashrc
# псевдонимы и личные функции

# PHP источник личный ini
псевдоним php = 'php -c /path/to/your/php.ini'

# colorize ls
псевдоним ls='ls --color'
...

Было бы лучше, если бы вы указали, какую версию (версии) вы используете

Другие вопросы по тегам