Php

如何在 Arch linux 上為 php (cli) 和 php-fpm 創建單獨的配置文件

  • October 8, 2016

是否可以為 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文件,只會載入這個文件,而不是/etc/php/php.ini使用phpcli 命令。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。

也許這不是最好的解決方案,但我適合我的案例。如果每個人都有更好的解決方案,請不要猶豫發布您的答案!

引用自:https://serverfault.com/questions/807763