1.全局设定
修改php.ini
safe_mode on
open_basedir on
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
php_flag engine off
就可以了