谢谢! 这么说就是说按默认的VirtualHost那样设置就行了? 我看官方手册看了一个上午了,没有我想要的那些,可能根本就像你所说的,没有必要~~ 不过我还是有一个疑问,因为服务器上的站点目录权限我全部设过的,不知APache正常运行所要用到的用户是哪一个? system吗?
用的是linux吗? 可以设置的 apache + suphp + php-cgi模式不错 免设置777 还可以同时支持php4 php5 php6 每个站点或者目录用自己独立的php.ini 每个php用自己的权限运行 如果嫌弃麻烦 也可以用apache + mod_php + openbase限制访问目录
在虚拟主机设置里面设置 <VirtualHost ***> *** <Directory ***> php_admin_flag engine ON php_admin_value open_basedir 用户目录/:临时目录/hp目录/ </Directory> </VirtualHost>
例如: apche设置了两个虚拟主机 其中php的临时文件目录在c:/php/tmp <VirtualHost *:80> ServerAdmin [email protected] ServerName aaaa ServerAlias aaaa.com DocumentRoot D:/wwwroot/aaaa <Directory "D:/wwwroot/aaaa"> Options All AllowOverride All Order allow,deny Allow from all php_admin_flag engine ON php_admin_value open_basedir d:/wwwroot/aaaa/;c:/php/tmp/ </Directory> </VirtualHost> <VirtualHost *:80> ServerAdmin [email protected] ServerName bbbb ServerAlias bbbb.com DocumentRoot D:/wwwroot/bbbb <Directory "D:/wwwroot/bbbb"> Options All AllowOverride All Order allow,deny Allow from all php_admin_flag engine ON php_admin_value open_basedir d:/wwwroot/bbbb/;c:/php/tmp/ </Directory> </VirtualHost> 解释: <VirtualHost *:80> //监听任何IP的80端口 ServerAdmin [email protected] //管理员邮件 ServerName aaaa //名称 ServerAlias aaaa.com //绑定的域名 可以用*泛解析 DocumentRoot D:/wwwroot/aaaa //网站路径 <Directory "D:/wwwroot/aaaa"> //目录属性 Options All //支持全部属性 AllowOverride All //支持全部.htaccess语句 Order allow,deny Allow from all php_admin_flag engine ON //启动php参数自定义配置 php_admin_value open_basedir d:/wwwroot/aaaa/;c:/php/tmp/ //设置open_basedir就是该虚拟主机下的php文件所能访问的目录 注意目录要用/结尾 </Directory> </VirtualHost> 貌似还有更好的配置方法 酝酿中