Skip to content

PHP post_max_size

post_max_size is the largest amount of data PHP accepts from a single form submission: all fields and all uploaded files together. Uploads in WordPress, from images to plugin and theme packages, go through this limit.

When a submission is larger than the limit, PHP throws away all of it, not only the part that doesn’t fit. WordPress then receives an empty form, including the security token that every form carries. That’s why an upload that’s too large often ends with the confusing message “The link you followed has expired.” rather than a clear note about the size.

The limit is also the ceiling for single files: WordPress shows the smaller of post_max_size and upload_max_filesize as the maximum upload size in the Media Library. Several files uploaded in one go count together.

Server: The hosting provider sets the limit in PHP’s configuration. The web server has its own limit for the size of a request and can reject a large upload before PHP sees it, usually with an error such as “413 Request Entity Too Large”.

WordPress: The size of the files and fields sent. Importing a large export file or uploading a big theme or plugin package is the most common way to reach the limit.

The Post size limit card is in System info, tab Server & System, under PHP. It shows post_max_size with the note Largest form or upload request, next to the upload limit. The card gives context; Permo doesn’t rate it.

PHP’s default is 8 MB (source: php.net, Core php.ini directives, accessed October 16, 2026). PHP’s documentation advises setting it larger than upload_max_filesize.

Sources