質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CakePHP

CakePHPは、PHPで書かれたWebアプリケーション開発用のフレームワークです。 Ruby on Railsの考え方を多く取り入れており、Railsの高速性とPHPの機動性を兼ね備えています。 MVCやORMなどを「規約優先の考え方」で利用するため、コードを書く手間を省くことができます。 外部のライブラリに依存しないので、単体での利用が可能です。

Q&A

解決済

2回答

1341閲覧

Apacheの httpd.confに設定した環境変数を CakePHP3のシェルで取得したい

takujiji

総合スコア24

CakePHP

CakePHPは、PHPで書かれたWebアプリケーション開発用のフレームワークです。 Ruby on Railsの考え方を多く取り入れており、Railsの高速性とPHPの機動性を兼ね備えています。 MVCやORMなどを「規約優先の考え方」で利用するため、コードを書く手間を省くことができます。 外部のライブラリに依存しないので、単体での利用が可能です。

0グッド

0クリップ

投稿2018/10/25 07:36

現在、CakePHP3でシステム開発を行っています。

開発環境と本番環境とで URLが違うため、本番では本番用の設定ファイルをを、開発では開発用のものを読み込ませたい、と考えました。
そこで、開発環境の「httpd.conf」にだけ「SetEnv CAKE_ENV dev」の様に記述し、それを PHPで取得できれば開発環境の設定ファイルを読み込みをする、という処理を作成しました。

Controllerからは「$_SERVER["CAKE_ENV"]」で値が取得できましたので、処理の振り分けは問題なく行えました。

ですが、Shellからは「httpd.conf」に設定した「CAKE_ENV」の値が取得できず、判定処理が行えませんでした。
「getenv("CAKE_ENV")」でも同様で、Controllerからは取得できて、Shellからは取得できませんでした。

CakePHP3の shellから「httpd.conf」に設定した環境変数を取得することは出来るのでしょうか?
できる場合は、どのように記述すると取得できるのでしょうか?

お教えいただけませんでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

httpd.confで設定した環境変数をshellで読みことはできません。

webサーバの場合はApacheを介してhttpd.confを読み込みますが、Shellの場合はApacheなどは介してないからですね。

以下のように実行すればshellから読み込めます

CAKE_ENV=dev php bin/cake.php hoge

それか他の人が回答している.envを使用するかですね

投稿2018/10/25 09:31

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

takujiji

2018/10/25 09:57

回答、ありがとうございます。 Shellの処理をぼんやりとしか理解していませんでしたが、シェルはコマンドラインで実行する時と変わらないわけですね。 実行時に環境変数を追加する方法は、開発環境での動作検証をするための方法としては十分に要件を満たす方法だと感じました。 また、無事に動作確認できました。 ありがとうございました!
guest

0

開発環境の判定方法や設定の読み込みを改めましょう

CakePHP3で.envファイルを有効化する

投稿2018/10/25 07:51

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

takujiji

2018/10/25 10:00

回答ありがとうございます。 CakePHP3.5では新しい設定方法が追加されたのですね。 今回の開発は現時点から仕様の見直しは難しいため、次回の開発時に利用させていただこうと思います。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問