LoginSignup
0
0

More than 3 years have passed since last update.

apache+Cakephpで環境変数を利用する

Last updated at Posted at 2020-08-27

やりたいこと

  • DB接続先などの変数をapp.phpに直接書かずに、環境変数から読み込みたい

環境

  • Amazon linux2
  • Apache 2.4
  • PHP 7.2

Apache側

systemdユニットファイルで環境変数リストファイルを読み込めるように設定

  • Environmentに直接定義してもいい
  • EnvironmentFileには、環境変数リストファイルをセット
/etc/systemd/system/multi-user.target.wants/httpd.service
[Service]
Type=notify
EnvironmentFile=/etc/sysconfig/httpd

環境変数リストファイルをセット

  • /etc/sysconfig/httpdに書くのが公式のよう
  • たぶんどのファイルでもいい
  • exportはいらない
DB_HOST=testdb

httpd.confへ設定

  • PassEnv はApacheを起動するユーザーの環境変数を引き継ぐことができる
  • SetEnv はhttpd.confに直接値を書く必要があるので、起動のたびに変わる変数などの利用には向いていない
/etc/httpd/conf/httpd.conf
</VirtualHost>
PassEnv DB_HOST
</VirtualHost>

php側

config/app.php
    'Datasources' => [
        'default' => [
            'className' => 'Cake\Database\Connection',
            'driver' => 'Cake\Database\Driver\Mysql',
            'host' => $_SERVER["DB_HOST"],
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0