Drupal 7 设置上传文件的限制大小

来源:互联网 发布:linux top命令参数 编辑:程序博客网 时间:2024/05/29 11:45

drupal默认的上传文件大小不能超过2M(系统级的php.ini默认值)。如果要修改这个大小,有以下几种方法实现:

1.更改默认的php.ini文件设置 (需要root权限)
这是最可靠和最有效的办法,但这个修改会影响机器上的所有php配置。该文件通常在/etc/php.ini或/etc/php5/cgi/php.ini。需要更改下面的两个参数值:

file_uploads = on ;是否允许通过HTTP上传文件的开关。默认为ON即是开
upload_tmp_dir ;文件上传至服务器上存储临时文件的地方,如果没指定就会用系统默认的临时文件
post_max_size = 8M ;指通过表单POST给PHP的所能接收的最大值,包括表单里的所有值。默认为8M
upload_max_filesize = 8M ;允许上传文件大小的最大值。默认为2M

设置完成后,可以使用phpinfo()检查设置是否正确。但是如果网络较慢且上传的文件过大话仅仅设置上述四项还一定能行的通(超时),解决办法是修改下面的参数:

max_execution_time = 600 ;每个PHP页面运行的最大时间值(秒),默认30秒
max_input_time = 600 ;每个PHP页面接收数据所需的最大时间,默认60秒
memory_limit = 8m ;每个PHP页面所吃掉的最大内存,默认8M


2.创建本地的php.ini文件
许多虚拟主机允许你创建自己的php.ini文件,这将覆盖默认的主服务器的php.ini文件
为单个domain添加php.ini文件:cp /etc/php5/cgi/php.ini $HOME/example.com/php.ini。并在该文件中添加:

; Maximum size of POST data that PHP will accept.
post_max_size = 2M
; Maximum allowed size for uploaded files.
upload_max_filesize = 2M


3.更改drupal根目录下的.htaccess文件(需要是apache服务器)
如果不能访问php.ini文件,还可以通过配置.htaccess文件来修改上传限制(这需要apache服务器的支持)。打开drupal应用根目录中的.htaccess文件,在适当的位置(需要知道当前服务器apache和php的版本信息)添加php_value post_max_size和php_value upload_max_filesize两项的配置。如果不清楚apache和php的版本信息,则可以将之添加到每一个mod_phpx配置模块中或将它放到配置文件的头部。示例如下:

# PHP 5, Apache 1 and 2.

php_value post_max_size 8M
php_value upload_max_filesize 8M

如果需要还要添加如下代码:


# Requires mod_expires to be enabled.
# Enable expirations.
ExpiresActive On
# Cache all files for 2 weeks after access (A).
ExpiresDefault A1209600
# Do not cache dynamically generated pages.
ExpiresByType text/html A1


4.在drupal的配置文件settings.php中用ini_set()设置
在sites/default/setting.php文件中添加如下两行:


ini_set('post_max_size', '8M');
ini_set('upload_max_filesize', '8M');

这种方式不一定有效,需要看应用程序的配置情况。

原创粉丝点击