まずI環境変数を設定するには、次のスクリプトを実行します。その後、私は実行PHPはENV変数をロードできないサーバーに内蔵され
ビン/ env.sh
#!/bin/bash
export JWT_SECRET="29dvqfmREKeOgBhGtTogK1pAi+2/x45hKzxONHetwFM="
export DB_HOST=127.0.0.1
export DB_NAME=myapp
export DB_USER=user
export DB_PASS=password
export DB_PORT=3306
bin/env.sh
を開発サーバーを起動する同じターミナルの次のスクリプト:
bin/de v.sh
#!/bin/bash
php -d variables_order=EGPCS -S localhost:5001 -t ./public
bin/dev.sh
サーバが起動するが、私はgetenv('DB_USER')
をエコーするとき、それは空白です。
php -d variables_order=EGPCS -S localhost:5001 -t ./public
をenv.sh
の足元に置くと事があります。
同じスクリプトに含まれていても動作しないのはなぜですか?どちらのスクリプトも同じ端末から実行されています
'dev.sh'の先頭に' env.sh'をソースしてみましたか?他のファイルに 'source bin/env.sh'という行を追加します。これがうまくいけば教えてください。 – Inian
@Inianが動作します。何故ですか? – BugHunterUK
Downvoter explain? – BugHunterUK