windows下一般没什么问题
linux 环境下
./templates
./attachments
./forumdata
./forumdata/cache
./forumdata/templates
./forumdata/threadcaches
./forumdata/logs
只要以上权限设置正确的话,使用 管理员的用户 ID 来上传附件肯定是没问题的
如果上传不了,肯定应该就是你环境的设置有问题了.
如果打开 safe_mode , 可能会有如下问题:
假设: 网站目录的属主是 nobody:nobody
apache运行的用户组是 www:www
如果网站目录文件的属主和apache的运行用户组不同,那么如果附件要按月份等做目录划分的话就有问题了,比如现在是08年12月, 程序要在 attachments 目录下生成一个 0812 的目录, 而这个目录的属主将变为了www:www, 此时,安全模式对这就有影响了, 它首先判别你运行的脚本 比如 batch.upload.php 的属主属性, 在这里这个属性将是 nobody:nobody , 但是该目录的属主也变为www:www了,所以,脚本将不对这目录执行写入. 所以,附件将上传不了.
但是,为了安全考虑,一般是建议打开安全模式的
你可以这样, 安全模式打开, 网站的用户组改成和apache运行用户组一样,比如www:www
为了保证项目的安全,然后指定 open_basedir 的值,限定脚本的执行范围. 同时也要指定 upload_tem_dir 哦, 切记.
其实,最好的方法是 apache 起一个 suexec 模块
为每个虚拟主机指定一个独立的用户组,这样,就方面管理而且安全.
以上建议基本是用户拥有独立主机的,呵呵. |