問題タブ [phpdotenv]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
laravel - 特定のサブドメイン用のLaravel 5 Dotenv
私のlaravel 5アプリケーションにはいくつかのサブドメインがあり、各サブドメインにはメール、nocaptchaなどの特定の構成があります.
特定のサブドメインで動作するように .env ファイルを設定する方法
php - dotenv には本番環境で .env ファイルが必要です
PHP用のdotenvを使用して環境設定を管理しています(lavarelではありませんが、lavarelもdotenvを使用しているためタグを付けました)
コードベースから .env を除外し、他のすべての協力者のために .env.example を追加しました
dotenv の github ページ:
phpdotenv は開発環境用に作成されており、通常は本番環境では使用しないでください。本番環境では、要求ごとに .env ファイルをロードするオーバーヘッドがないように、実際の環境変数を設定する必要があります。これは、Vagrant、chef、Puppet などのツールを使用した自動デプロイ プロセスによって実現できます。また、Pagodabox や Heroku などのクラウド ホストを使用して手動で設定することもできます。
私が理解していないのは、次の例外が発生することです。
PHP Fatal error: Uncaught exception 'InvalidArgumentException' with message 'Dotenv: Environment file .env not found or not readable.
これは、「リクエストごとに .env ファイルをロードするオーバーヘッドがないように、実際の環境変数を設定する必要がある」というドキュメントと矛盾しています。
したがって、問題は、dotenv がその例外をスローする理由があるかどうか、および/または何かが足りないかどうかです。まず他のdotenvライブラリ(ruby)と比べて挙動が違う
私はこれを簡単に回避できますが、あまり良い解決策ではありません:
私の意見では最も良い解決策ですが、 dotenv がこれを処理する必要があると思います。
php - Laravel 5.1 で .env を使用して設定されたストレージ パス
ファイルを使用して、Laravel 5.1 でストレージ パスを構成したいと考えてい.env
ます。私bootstrap/app.php
はこのように見えます:
.env ファイルの関連する行は次のとおりです。
これはうまくいきません。ブートストラップが処理された後に Dotenv ライブラリが初期化されるため、.env
変数が で使用できないことがわかりましたbootstrap.php
。
.env
ストレージ パスを設定でき、変数を使用できる別の場所はありますか?
amazon-web-services - .env ファイルを使用しないコマンド ライン プロダクションでの Laravel と環境変数
Laravel 5 にアップグレードしたとき、ルートにあるこのファイル内のすべての構成を設定する env システムの使用を開始しました。
.env
このファイルは私のレポの一部ではありません。デプロイするときに、同じ変数をシステム環境変数に設定して (ここでは Amazon Beanstalk を使用) 、.envファイルを必要とせずにアクセスできるようにします。
そのため、すべてが機能しますが、本番環境でスクリプトでコマンドラインを使用すると、これらのシステム環境変数にコマンドラインでアクセスできないようです。ただし、PHP が Web サーバーを介して提供されている場合はアクセス可能です。
この .env ファイルをコピーして追加すると、コマンドラインで機能することがわかりましたが、それが私が混乱している理由です。 php artisan migrate およびその他のコマンドを本番環境で使用できます。
何か不足していますか?コマンドラインで利用可能なシステム環境変数を取得する方法はありますか、または何らかの方法でその .env ファイルを本番環境で動的に作成する必要がありますか?
php - Ignore .env file on unit tests
Most of my classes include loading env variables for configuration. When I was coding I thought vlucas/phpdotenv ignored the .env
file on testing environments since there is already a conf file like phpunit.xml
where you define them.
Is it possible to make dotenv ignore .env when on testing environment?
laravel-5 - Lumen アプリケーションの travis-ci で環境変数を読み取る方法
vlucas の Dotenv ライブラリを使用する Lumen アプリケーションがあります。デプロイしようとすると、travis-ci は「.env」ファイルがないと文句を言います。条件付きで Dotenv クラスをロードするには、bootstrap/app.php ファイルを変更する必要がありますか? または、これを処理するためのより良い方法はありますか?
私が得ているエラーメッセージは次のとおりです。
PHP 致命的なエラー: メッセージ「Dotenv: 環境ファイル .env が見つからないか、読み取れません」の例外「InvalidArgumentException」がキャッチされません。/home/travis/build/project/repo/bootstrap/../.env' の /home/travis/build/project/repo/vendor/vlucas/phpdotenv/src/Dotenv.php に環境設定を含むファイルを作成します。 33
php - Laravel 5でphpunitに別の.envファイルを指定するには?
Laravel 5 では通常のことですが、データベース接続の詳細を含むファイルがあり.env
ます。テスト用にこれらをオーバーライドしたいのですが、これは で実行できますphpunit.xml
。.env
ただし、これを行うと、環境構成、特にパスワードをコミットしないという哲学に反するようです。
そのようなものを持って、それから読むよう.env.testing
に言うことは可能ですか?phpunit.xml
php - .env (dotenv) ファイルでの PHP 関数の使用
私の場合は.envファイルでPHP関数を使用しようとしていますrand()
。
これが私が.envで達成しようとしていることです。
ご覧のとおり、CDN サブドメインを表す 1 から 5 までのランダムな整数を生成しようとしてhttp://cdn2.example.com
いhttp://cdn4.example.com
ます。
.env での PHP の使用はネイティブでサポートされていないと思いますが、何か方法や回避策はありますか?
PS私はLaravel 5を使用しています。