2012-01-28 20 views
0

我正在尋找使FastCGI能夠處理我的所有域上的PHP執行。我有一天嘗試過,並且遇到了一個與我的PHP配置有關的問題。在Web目錄之外訪問PHP Browscap FastCGI

我目前有一個php-browscap.ini位於我的服務器上,被我的所有域使用。它位於我公司的域目錄中,以便像這樣:

browscap = /var/www/vhosts/mycompany.com/httpdocs/scripts/php_browscap.ini 

爲了這個工作,我通常不會做任何事情,因爲apache用戶將有機會獲得所有的網站目錄。

但是,現在用戶必須是域特定的,我有權限問題訪問browscap。任何機構是否知道我可以在我的PHP配置中實現的修復以允許訪問另一個域目錄?

我不希望有放在各個領域目錄browscap文件雖然我知道這將是一個修復

想如果我放在文件的Web目錄以外的工作?

e.g. /company/php-browscap.ini 

其中'公司'是我的根目錄中包含我的服務器腳本的自定義文件夾。我沒有試過這個,因爲它需要很多改變,但如果我知道它會起作用,那麼我會放棄它。

+1

如何將它存儲在目錄中所有用戶都只能讀取像/usr/lib/php/browsecap.ini或/usr/share/browsecap.ini或類似的東西?然後修改PHP.ini指向那裏,所有網站應該能夠毫無問題地使用它。 – drew010 2012-01-28 19:44:09

+0

這就是我所說的我會做的,如果我知道它會工作。你是說FastCGI被允許訪問'example.com'目錄之外的文件,如果用戶有適當的權限? – 2012-01-28 19:46:33

+0

如果權限正確,它可以訪問服務器上任何位置的文件。只要文件和目錄設置了世界讀取權限,它就可以讀取它們(這對於那些目錄來說是典型的)。您需要超級用戶訪問才能將文件放置在該位置,但任何人都可以閱讀,但不能修改或刪除。 – drew010 2012-01-28 19:50:56

回答

1

如果您將browsecap.ini文件放入具有世界讀取權限的目錄(例如755 drwxr-xr-x),則FastCGI(或任何用戶)可以讀取該文件。這樣的目錄可以是/usr/lib/php(如果存在)或/usr/share

如果您將文件chmod改爲744,那麼只要所有父目錄都是世界可讀的,所有用戶都可以讀取它,但不能刪除或修改它。