如何在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.

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

相关文章

/etc/sysctl.conf这个目录主要是配置一些系统信息,/etc/sys...
1.作用 useradd或adduser命令用来建立用户帐号和创建用户的起...
它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅...
不管是我们在安装软件还是监测软件的使用性能,我们都要随时...
装好Tomcat7后,发现除了本机能访问外界访问不了,岂有此理。...
修改防火墙配置需要修改 /etc/sysconfig/iptables 这个文件,...