0

私はOpenshiftでPHPアプリケーションを作成しました。その後、私のアプリにMySQLデータベースを追加しました。その後、私はenvコマンドでSSHシェルでデータベース関連の変数を見ることができます。Openshift:データベース環境変数がPHPで設定されていません

しかし、私は環境変数を使用してdb接続をセットアップしようとしたとき、私のPHPコードにそれらを再実行しません。例として:アプリケーション名が正しくしかしOPENSHIFT_MYSQL_DB_HOSTがnullで、ホスト情報が入手できない

<?php 
echo('App: '.$_ENV["OPENSHIFT_APP_NAME"].'<br/>'); 
echo('Host: '.$_ENV["OPENSHIFT_MYSQL_DB_HOST"]); 

OPENSHIFT_APP_NAME戻ります。

また、コンソールでアプリケーションを再起動しました。 私はWinScpを使用してアプリケーションを直接アップロードしましたが、PHPアプリケーションのデプロイメントに多かれ少なかれ必要があるかどうか分かりません(requireのようなもの)?

アップデート:私はphpMyAdminのコードをチェックすると

、私はそれがこのような構文を持つファイル 'conf.d/passenv.conf' を持って見ました:

PassEnv OPENSHIFT_MYSQL_DB_PORT 

は、それがために助けることがマイ私の問題を解決する。

+0

'rhc env-list'(すべての環境変数を表示) ' rhc env-set {VARIABLE1} = {VALUE1} {VARIABLE2} = {VALUE2} ' ...](https://blog.openshift.com/taking-advantage-of-environment-variables-in-openshift-php-apps/) 'define( 'DB_HOST'、getenv( 'OPENSHIFT_MYSQL_DB_HOST'));' – zipzit

+0

@zipzit新しいカートリッジを追加すると既に定義されていると思われます。これらはサーバー構成の変更である可能性があるため、手動で定義するべきではありません。 – VSB

+0

もしそれがあまりにも微妙であれば申し訳ありません。 RHCを開き、 'rhc env-list'と打ち込んで、結果を確認してください。上記のenv-listから観測された環境変数に応じて 'echo(getenv( 'OPENSHIFT_MYSQL_DB_HOST'));'を実行し、 'tail-all'コマンドを使用してPHPコードの結果を確認しますファイル)。注意: 'getenv..'は' $ _ENV'ではありません。(PHPでもうまく動作するはずですが) – zipzit

答えて

0

アプリケーションの作成後にMySQLを追加したため、アプリケーションを停止して再起動する必要はありません(再起動しないでください)。 rhc app stopコマンドとrhc app startコマンドを使用します。

関連する問題