2017-08-10 67 views
0

使用PHP,將數據庫憑證存儲在$ _SESSION中可以嗎?我正在尋找一種避免在每次需要使用config vars時都包含配置文件的方法。在會話中存儲數據庫憑證

+2

這聽起來像** [XY問題](https://meta.stackexchange.com/a/66378/360627)**給我。 – GrumpyCrouton

+3

一直都有配置文件沒有錯! – Jeff

+0

使用$ _SESSION並不是一個好主意,因爲它[看起來會慢一些](https://stackoverflow.com/a/9028875/5827005) – GrumpyCrouton

回答

1

我建議堅持使用配置文件,因爲它允許實時更改,如果您更改配置,那麼此數據將立即更改爲任何在線用戶,其中會話將不得不每次重新設置改變。始終包含配置可能比您想象的要容易。

可以包括使用從你的根目錄的路徑的文件,如:

<?php 
    include_once $_SERVER['DOCUMENT_ROOT']."/path/to/config.php"; 
?> 

所在路徑應該是從你的文檔根目錄,基本上是從你的項目的根目錄。很多時候人們把這個文件保存在它們的根目錄下,所以如果你的配置文件是http://example.com/config.php

使用這個include會從你的項目的任何php文件中加載它。

<?php 
    include_once $_SERVER['DOCUMENT_ROOT']."/config.php"; 
?> 

此外,作爲Qirel提到:

的配置應該存儲在公共文件夾以外 - 僅通過 (在瀏覽器中,而不是直接)的服務器進行訪問。

+2

請注意,「include」不是函數,所以不需要括號。此外,應該將配置文件存儲在公用文件夾外部 - 只能由服務器訪問(而不能直接在瀏覽器中訪問)。 – Qirel