php-fpm環境下でApache httpdのSetEnvで設定された環境変数は、PHPのenv()
等では取得できるが、
execで実行されるコマンドには、SetEnvで設定された環境変数が反映されなかったのでfast-実施した回避策を書く!
要約
- ApacheのSetEnvは使わず
/etc/environment
に環境変数を記載して利用する
/etc/environment
の環境変数利用手順
/etc/systemd/system/httpd.service
を作成
- 以下内容で作成する
.include /lib/systemd/system/httpd.service
[Unit]
After=network.target remote-fs.target nss-lookup.target httpd-init.service cloud-config.service
[Service]
UMask=002
EnvironmentFile=/etc/environment
/etc/systemd/system/php-fpm.service
を作成
- 以下内容で作成する
.include /lib/systemd/system/php-fpm.service
[Unit]
After=syslog.target network.target cloud-config.service
[Service]
UMask=002
EnvironmentFile=/etc/environment
PrivateTmp=false
/etc/php-fpm.d/www.conf
に1行追加
- 以下を追記
clear_env = no
あとは/etc/environment
に環境変数を記載していくだけ!