參考: http://www.php.net/manual/zh/features.safe-mode.php
1.全局設定 修改php.ini
safe_mode on open_basedir .
2.單獨用戶設定 除了php.ini中的全局設置以外...在虛擬主機中還可以通過上面的設置,把php的權限設置在每個用戶的特殊目錄中...
httpd.conf中的設置
<directory /usr/local/apache1.3/htdocs/i_amok> php_admin_value open_basedir /usr/local/apache1.3/htdocs/i_amok php_admin_value safe_mode 0 #0表示取消safe_mode #open_basedir表示把/usr/local/apache1.3/htdocs/i_amok這個目錄下的php #打開文件的權利限制在/usr/local/apache1.3/htdocs/i_amok目錄了 </directory>
還有safe_mode on的時候權限是有用的...就是說php在執行的時候會檢查php文件的屬主和被操作文件的屬主是否一致(uid),如果不一致就不會執行...所以建立php文件的時候不要用root帳戶.....一不小心..你的機子就廢了...
3.vhost的設置
<VirtualHost *> DocumentRoot /usr/local/apache1.3/htdocs/i_amok ServerName iamok.be10.net CustomLog "|/usr/local/sbin/cronolog /usr/local/apache1.3/logs/access_log_iamok.net_%W" common php_admin_value safe_mode 0 php_admin_value open_basedir /usr/local/apache1.3/htdocs/i_amok:/tmp:/proc </virtualhost>
在vhost中這樣設置..不要用directory框住php_admin_value了..因為vhost標簽就替代了directory的作用了
4.禁止php http://www.php.net/manual/en/ref.apache.php
在httpd.conf中的適當位置,放一個 engine off 就可以了
|