You are here

drupal公共文件

g089h515r806 的头像
Submitted by g089h515r806 on 星期四, 2009-08-20 15:29

最简单的配置就是公共文件下载方法,此时Drupal不参与下载流程。在文件被上传时,Drupal简单的将它们保存到了你在“管理➤站点配置➤文件系统”中所指定的目录,并在数据库中追踪文件的URL(这样Drupal就知道有哪些文件可用,谁上传的,等等)。当一个文件被请求时,它将作为一个静态文件通过HTTP被Web服务器直接传递给用户, Drupal一点也没有参与这一流程。由于不需要执行PHP代码,所以这种方式的特点就是非常的快。然而,这里没有检查用户的权限。

 
    当指定文件系统路径时,该文件夹必须存在并且允许PHP对其可写。一般情况下运行Web服务器的用户(在操作系统上)也就是运行PHP的用户。因此,授予该用户对files文件夹的写权限,将允许Drupal上传文件。这些完成以后,一定要在“管理➤站点配置➤文件系统”中指定文件系统路径。一旦保存这些修改,Drupal将在你的files文件夹中自动的创建一个.htaccess文件。这一点是必要的,它可用来保护你的服务器,以避免一个已知Apache安全漏洞----用户可以上传文件并执行嵌入在上传文件中的脚本(参看http://drupal.org/node/66763)。检查以确保你的files.htaccess文件,里面包含以下信息:文件夹下面包含一个
 
SetHandler Drupal_Security_Do_Not_Remove_See_SA_2006_006
Options None
Options +FollowSymLinks
 
提示 当在一个Web服务器集群上运行Drupal时,临时文件目录的位置需要被所有的web服务器所共享。由于Drupal可以使用一个请求来上传文件,使用第二个请求将它的状态从临时的改为持久的。许多负载均衡方案会把临时文件放在一个服务器上,而第二个请求则转到另一个服务器上。当出现这种情况时,文件在上传时看起来是正确的,但是它们将不会显示在它们要添加到的节点或内容中。确保你的所有web服务器共享一个temp目录,并使用一个基于会话的负载均衡器。你的文件目录,和你的数据库一样,对于你的web服务器来讲应该是全局的。
 

Drupal版本: