首先,修改 php.ini的 <code>session.save_path</code> 選項,大緻如下:
意為把session存放在 <code>"/tmp/php_sess"</code> 目錄下,并且分成 2 級子目錄,每級子目錄又分别有 16 個子目錄。
接下來,假設php的主目錄為 <code>/usr/local/server/php/</code>,則建立一個檔案 <code>/usr/local/server/php/include/php/ext/session/mod_files.sh</code>,其内容如下:
設定為可執行之後,運作以下指令來建立哈希目錄:
現在,就開始設定 NFS 共享了。假定有3台主機,ip分别為192.168.0.1(主機名svr1)、192.168.0.2(主機名svr2)、192.168.0.3(主機名svr3),現在讓192.168.0.1來提供NFS共享服務,配置 <code>/etc/exports</code>,加入如下内容:
然後重新開機 nfs 服務,即可對另外兩台主機提供NFS共享了。
在 svr2、svr3 上執行以下指令來挂在NFS:
用NFS來存儲session的缺點是,session過期後不能自動清除,必須自己設定回收機制,我們可以利用crontab來定期回收,用用以下shell指令即可:
意思是,删除30分鐘以前的session檔案,具體的時間請大家自己重新設定吧。
最後,在這兩個主機上對 php.ini 增加/修改上面提到的内容,然後重新開機apache即可。
本文轉自葉金榮51CTO部落格,原文連結:http://blog.51cto.com/imysql/310456,如需轉載請自行聯系原作者