鍍金池/ 問(wèn)答/PHP  Linux/ 請(qǐng)問(wèn)有多個(gè)php項(xiàng)目都需要讀取同一個(gè)配置文件,需要既可以讓不同項(xiàng)目的人使用,又各

請(qǐng)問(wèn)有多個(gè)php項(xiàng)目都需要讀取同一個(gè)配置文件,需要既可以讓不同項(xiàng)目的人使用,又各自有不同的權(quán)限,如何配置。

clipboard.png
問(wèn)題圖示如上,A,B,C,D四個(gè)項(xiàng)目都要用到這個(gè)配置文件目錄(域名不一樣),項(xiàng)目在同一個(gè)目錄下,配置文件不給down到本地,放在服務(wù)器上,這四個(gè)項(xiàng)目都可以使用這個(gè)配置,但是彼此的權(quán)限又都是不一樣。還有一點(diǎn)就是服務(wù)器大家沒(méi)權(quán)限直接上去。(開(kāi)發(fā)語(yǔ)言:PHP, 環(huán)境:linux+nginx+mysql)

正常的話,就是include/require進(jìn)來(lái)就完了,或者寫(xiě)個(gè)公共文件,使用自動(dòng)加載引入這個(gè)文件,就是本地調(diào)試不了,只能改完放到服務(wù)器,但又要給權(quán)限有所區(qū)分,比如:B不能看到所有的配置信息,這好像也做不到,因?yàn)榭梢酝ㄟ^(guò)show_source(__FILE__)或highlight_file(__FILE__) 弄出來(lái),不行就只能把這些函數(shù)禁用了,但A又怎么看到這些配置信息。

請(qǐng)問(wèn)下,有可能實(shí)現(xiàn)這個(gè)需求嗎?或者能否提供一個(gè)方向參考下?
我感覺(jué)這個(gè)問(wèn)題就是如何更好管理一個(gè)公共文件,但是沒(méi)有什么思路,因?yàn)槿绻玫竭@些配置信息,最終不是都應(yīng)該把代碼帶進(jìn)來(lái),那么又怎么把權(quán)限分配?

(ps:沒(méi)有具體的項(xiàng)目,是面試的時(shí)候,面試官問(wèn)的,因?yàn)樾〔锁B(niǎo)一個(gè),我一直覺(jué)得到底都是要引進(jìn)來(lái)的,好像就是避免不了)

回答
編輯回答
神曲

個(gè)人認(rèn)為的解決方案:
1.搞一個(gè)權(quán)限系統(tǒng),然后在配置文件中做一個(gè)權(quán)限標(biāo)識(shí),不同的權(quán)限對(duì)應(yīng)的不同的標(biāo)識(shí)

2.第二種就是對(duì)已知的配置文件權(quán)限進(jìn)行分組,然后分開(kāi)去緩存,然后不同權(quán)限的調(diào)用不同的緩存

2018年6月6日 17:44
編輯回答
冷眸

從物理層面上說(shuō),ldap非常符合預(yù)期
從項(xiàng)目管理角度,可以在配置文件錄再次按照項(xiàng)目劃分配置,并且在svn中做好權(quán)限規(guī)劃,最后根據(jù)項(xiàng)目不同使用自動(dòng)加載普通配置類(lèi)

2017年3月27日 16:13
編輯回答
愿如初

干嘛不搞個(gè)權(quán)限分配呢??

2018年7月16日 01:18