在將我的專案上傳到Github之前,我想用一個環境變數來隱藏我的API密鑰。
我在.env檔案中添加了這一行代碼
API_KEY=MY_API_KEY
但是當我在PHP檔案中呼叫API_KEY時,
$apiKey=getenv('API_KEY'/span>)。
print_r($apiKey)。
它沒有顯示什么。而且我的網站崩潰了,因為代碼沒有得到API密鑰。
我嘗試在httpd.conf檔案的底部使用SetEnv。
SetEnv API_KEY=MY_API_KEY
但這仍然不能作業。print_r()沒有列印出任何東西。就是什么都沒有...。
我做錯了什么呢?
.env檔案是否應該與PHP檔案位于同一位置?
我使用的是windows,Xampp Apache是我的web服務器。
uj5u.com熱心網友回復:
正如 IMSoP 在評論中提到的,我不得不做一些事情來強迫 PHP 讀取我的 .env 檔案,我通過安裝 phpdotenv 解決了這個問題。 https://github.com/vlucas/phpdotenv 這個軟體包可以讀取.env檔案。
if(file_exists(dirname(__DIR__) . '/vendor/autoload.php')) {
require_once dirname(__DIR__) 。'/vendor/autoload.php'。
$dotenv = DotenvDotenv::createImmutable(dirname(__DIR__) 。)
$dotenv->load()。
}
uj5u.com熱心網友回復:
我試著在httpd.conf檔案的底部使用SetEnv。
SetEnv API_KEY=MY_API_KEY
這個方法應該是有效的,只是你使用了錯誤的語法。在鍵/值對之間不應該有=。上面會設定一個名為API_KEY=MY_API_KEY的環境變數(而不是API_KEY)并分配一個空字串!
它應該是:
SetEnv API_KEY MY_API_KEY
改變httpd.conf后,你需要重新啟動Apache。
另外,在檔案根目錄下的.htaccess檔案中添加該指令。(或相關的子目錄。)
參考資料:
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/331787.html
標籤:
上一篇:附加選項以選擇-jquery
