Fie*_*ete 11 php php.ini arch-linux 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 中配置的结构,但没有成功。
Fie*_*ete 11
我找到了一些调整来解决我的问题。
首先:加载一个单独的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.
Run Code Online (Sandbox Code Playgroud)
如果我创建一个/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
Run Code Online (Sandbox Code Playgroud)
重新启动/重新加载服务后,php-fpm 仅加载/etc/php/fpm/conf.d
来自/etc/php/conf.d
. 这允许我分别配置 cli 和 fpm。
也许这不是最好的解决方案,但我适合我的用例。如果每个人都有更好的解决方案,请不要犹豫,发布您的答案!
归档时间: |
|
查看次数: |
5316 次 |
最近记录: |