首先我運行下面的腳本來設置環境變量: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解釋? – BugHunterUK