参考: 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 就可以了
|