2つのフォルダー/etc/php/7.0/cli
と/etc/php/7.0/fpm
を使用してdebianとubuntuで可能であるように、php(cli)とphp-fpmに個別のphp.iniファイルを作成することは可能ですか?
各サブシステムの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
を読み込んでいます。
2番目:異なるモジュール構成をロードします:
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を別々に構成できます。
おそらくこれは最善の解決策ではありませんが、私は自分のユースケースに適しています。誰もがより良い解決策を持っているなら、あなたの答えを投稿することを躊躇しないでください!
Cliバージョンではいつでもこれを行うことができます。
php -c /path/to/your/php.ini
php-fpmで提供されるものをデフォルトのままにします。またはさらに良いことに、これをログインスクリプトに追加します
#〜/ .bashrc #エイリアスと個人用関数 #PHP source personal ini alias php = 'php -c /path/to/your/php.ini' # colorize ls alias ls =' ls --color ' 。 ..
使用しているバージョンを指定した方がいいでしょう