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

前端之家收集整理的这篇文章主要介绍了如何在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相关文章