現(xiàn)在很多框架使用根目錄的.env文件來配置環(huán)境變量,php本身是不會去解析這個文件的,需要使用php代碼讀取和解析這個文件放入環(huán)境變量中。
成都一家集口碑和實力的網(wǎng)站建設服務商,擁有專業(yè)的企業(yè)建站團隊和靠譜的建站技術,10多年企業(yè)及個人網(wǎng)站建設經(jīng)驗 ,為成都上千多家客戶提供網(wǎng)頁設計制作,網(wǎng)站開發(fā),企業(yè)網(wǎng)站制作建設等服務,包括成都營銷型網(wǎng)站建設,品牌網(wǎng)站設計,同時也為不同行業(yè)的客戶提供成都做網(wǎng)站、成都網(wǎng)站制作的服務,包括成都電商型網(wǎng)站制作建設,裝修行業(yè)網(wǎng)站制作建設,傳統(tǒng)機械行業(yè)網(wǎng)站建設,傳統(tǒng)農(nóng)業(yè)行業(yè)網(wǎng)站制作建設。在成都做網(wǎng)站,選網(wǎng)站制作建設服務商就選創(chuàng)新互聯(lián)公司。
例如查看thinkphp中.env文件的加載過程 , 使用下面這個strace命令查看fpm進程stat文件狀態(tài)的過程。
strace $(pidof 'php-fpm'|sed 's/\([0-9]*\)/-p \1/g') -e stat -s 1024
返回的這條,就是在查看.env文件是否存在。
[pid 11692] stat("/data1/mailLog/public/phpdev/xxx/xxx/.env", 0x7fff6ba5f9f0) = -1 ENOENT (No such file or directory)
處理的代碼是這幾句
if (is_file(ROOT_PATH . '.env')) { $env = parse_ini_file(ROOT_PATH . '.env', true); foreach ($env as $key => $val) { $name = ENV_PREFIX . strtoupper($key); if (is_array($val)) { foreach ($val as $k => $v) { $item = $name . '_' . strtoupper($k); putenv("$item=$v"); } } else { putenv("$name=$val"); } } }
以上就是關于PHP框架中.env文件的加載過程的詳細內(nèi)容,更多請關注創(chuàng)新互聯(lián)其它相關文章!