レンタルサーバーで環境変数をセットする
2025.02.28 09:00
2025.03.01 14:30

本番とテストで設定を切り替えるために環境変数を使いたいのですが、レンタルサーバーのXserverでどのようにしたらいいかわかりませんでしたので調べました。
結論から言うと、php.iniとenv.phpでセットするということらしいです。
php.iniの設定で、一番最初に無条件で特定のファイルを読み込ますことができるようで、そのファイルに環境変数を書き換えるコードを書くということみたいですね。
1. 環境変数を書き換えるPHPを作成
「env.php」というファイルを作って、その中に環境変数を書き換えるコードを書きます。ファイルは「/home/XXXXXXX/hogehoge.com/public_html/env.php」に作ることにします。パスは各自の環境に合わせます。
<?php
putenv("MY_ENV_VARIABLE=hogehoge");
これで「MY_ENV_VARIABLE」に「hogehoge」がセットされるようになりました。
ただこれだけではこのファイルが発動しません。ということで、php.iniを使います。
2. Xserverで環境変数のセット
php.iniに「auto_prepend_file」を指定します。これは全てのファイルの前に指定のファイルを実行できるコードです。
Xserverのコントロールパネルの「php.ini設定」から手動で以下を追加します。
auto_prepend_file = "/home/XXXXXXX/hogehoge.com/public_html/env.php"
これで設定は完了です。では確認用のファイルを作ってテストしてみましょう。
3. テストする
環境変数を読み込むコードを書いて、本当に指定できたかテストしてみます。「/home/XXXXXXX/hogehoge.com/public_html/test.php」とtest.phpファイルを作って、以下のようなコードを書きます。
<?php
echo getenv('MY_ENV_VARIABLE');
test.phpにアクセスして、「hogehoge」と表示されたら、
無事環境変数が書き換えられているということですね。
今回は以上です!