Article ID: 3376, created on Nov 30, 2007, last review on May 24, 2016

  • Applies to:
  • Plesk for Linux/Unix


How to change the maximum attachment size in Horde?


By default, PHP limits uploaded files' size to 2 MB. This limit applies to all PHP applications including Webmail. Edit the following options in the /etc/php.ini file on the Plesk server and set the values to match your needs. For example:

upload_max_filesize = 32M
post_max_size = 32M

Restart Apache after the php.ini file modification.

Also note that the maximum attached file size can be changed by adjusting the Horde configuration. Find the attach_size_limit option in the /etc/psa-webmail/horde/imp/conf.php:

$conf['compose']['attach_size_limit'] = '0';

An attach_size_limit value of zero means "no limit".

Note: memory_limit should be larger than post_max_size. If you increase the post_max_size PHP parameter, do not forget to increase the memory_limit parameter as well.

According to Description of core php.ini directives:

"post_max_size" integer sets max size of post data allowed. This setting also affects file upload. To upload large files, this value must be larger than "upload_max_filesize". If memory limit is enabled by your configure script, "memory_limit" also affects file uploading. Generally speaking, "memory_limit" should be larger than "post_max_size". When an integer is used, the value is measured in bytes.

Shorthand notation, as described in this FAQ, may also be used. If the size of post data is greater than "post_max_size," the"$_POST" and "$_FILES" superglobals are empty. This can be tracked in various ways, e.g., by passing the "$_GET" variable to the script processing the data, i.e., <form action="edit.php?processed=1">, and then checking if $_GET['processed'] is set.

Note: PHP allows shortcuts for bit values, including K (kilo), M (mega) and G (giga). PHP will do the conversions automatically if you use any of these. Be careful not to exceed the 32 bit signed integer limit (if you're using the 32bit version) as this will cause your script to fail.

a914db3fdc7a53ddcfd1b2db8f5a1b9c 56797cefb1efc9130f7c48a7d1db0f0c 29d1e90fd304f01e6420fbe60f66f838

Email subscription for changes to this article
Save as PDF