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

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

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

Кто-нибудь знает, как я могу настроить его отдельно?

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

8
задан 7 October 2016 в 20:28
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 отдельно.

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

10
ответ дан 2 December 2019 в 22:52

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

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'
...

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

.
3
ответ дан 2 December 2019 в 22:52

Теги

Похожие вопросы