2016-01-11 22 views
0

我試圖建立每this SO Post.如何設置環境變量來保存PHP的DSN?

我把變量在我的.bash_profile永久性的「環境」變量,我能夠從使用命令行訪問。

echo $VAR 

但是,這是由PHP需要(同樣的事情的Heroku一樣)一個DSN(數據庫憑據),我需要使用

getenv()或類似的訪問。

如果我從命令行運行env,我沒有看到它列出。

它似乎有不同類型的環境變量,我用錯了。

我該如何正確地做到這一點?

回答

1

您的網絡服務器不運行您的shell,因此它不會.bash_profile。有各種技巧可以將環境變量引入Apache,但它們都依賴於對Web服務器的管理訪問權限,而您在低端的Godaddy託管服務中卻沒有這樣的權限。

如果你要解釋你爲什麼試圖將環境變量引入Apache,你有什麼類型的託管以及你對服務器有什麼訪問權限,我們可能會提供更好的建議。有些模塊暴露了操作Apache的環境變量(例如mod_env)的訪問權限,但這些模塊可能不適用。也可以從.htaccess文件獲取數據(和代碼)到PHP中,但也不可能說明這是否符合您的要求。

+0

爲了一致性和相關性。我部署到多個服務器,這是我想要做的方式。我更願意將我的憑據保存在未通過git跟蹤的文件中的服務器上。很明顯,我可以創建一個文件並從中讀取數據......但我希望這是一個非火箭科學,我可以像Heroku一樣進行操作。當然,我可以把它保存在回購站和.gitignore它,但我仍然在學習git,不信任它。 –

+0

我可以把它放在我當然可以訪問的.htaccess文件中,但是這會破壞目的。我希望它在OS文件中。我只是覺得這樣更安全。 –

+0

如果您的目標是讓它遠離它,然後將它放在文檔根目錄之外並且放在項目之外。只需使用包含文件。 – symcbean