2009年5月19日 星期二

在VirtualHost中使用不同的php.ini

今天在更新VHOST主機上的lighttpd順便找了點東西,一直以來PHP上傳的檔案擁有者都是HTTP Server,在計算使用者磁碟配額Quota上十分不便,主要是因為PHP是以HTTP Server的身分執行的關係,這也造成另一個問題,所有的檔案對於HTTP Server都是可讀取(甚至可寫入)的,所以在同一台實體主機上的使用者是可以存取其他人的PHP網頁原始碼,雖然PHP提供了safe_mode的功能但是這項功能即將在PHP6中被移除,移除的主因是,PHP團隊認為安全性的問題應該由系統去負責,於是找了些可以用使用者身分執行PHP的相關資訊,意外的找到在VHost中套用不同的php.ini的方法

http://redmine.lighttpd.net/wiki/lighttpd/Docs:ModFastCGI
http://ssorc.tw/rewrite.php/read-956.html

根據一篇lighttpd官方的討論指出,lighttpd並無法在每個要求切換執行身分(Apache可以作到),但是可以把不同的虛擬主機對應到不同的fastcgi server上,也就是每個fastcgi server都使用不同的身分執行,不過安全性提高了,但卻佔用了更多記憶體