如何在arch linux上为php(cli)和php-fpm创建单独的配置文件

是否可以为PHP(cli)和PHP-fpm创建单独的PHP.ini文件,就像在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文件,只会加载这个文件,而不是使用PHP cli命令加载/etc/PHP/PHP.ini. PHP-fpm仍在加载/etc/PHP/PHP.ini.

第二:加载不同的模块配置:

我在php documentation中找到了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.

也许这不是最好的解决方案,但我适合我的用例.如果每个人都有更好的解决方案,请不要犹豫,发布您的答案!

相关文章

Linux中的ARP防火墙主要用于防御ARP欺骗攻击,其效果取决于多...
insmod和modprobe加-f参数导致Invalid module format错误 这...
将ArchLinux安装到U盘 几个月前入门Arch的时候上网搜了不少安...
1、安装Apache。 1)执行如下命令,安装Apache服务及其扩展包...
一、先说一下用ansible批量采集机器信息的实现办法: 1、先把...
安装配置 1. 安装vsftpd 检查是否安装了vsftpd # rpm -qa | ...