Загрузка файлов в PHP

Поставил движок на PHP (будь то WordPress или что-то ещё), решил залить файл — а в ответ ничего: либо сервер говорит «The server cannot process the image».

Причина в том, что PHP по умолчанию не позволяет загружать файлы большого размера.

В таком случае установим дополнительные модули:

apt update
apt install php-dom php-imagick php-zip php-intl

Открываем конфиг (если не 8.1, то укажите свою):

nano /etc/php/8.1/fpm/php.ini

Находим следующие параметры и меняем на нужные величины:

memory_limit = 1024M
upload_max_filesize = 128M
post_max_size = 128M
max_execution_time = 500
max_input_time = 500

На всякий случай в конфиг Nginx добавим:

nano /etc/nginx/nginx.conf
## Basic Settings
client_max_body_size 128M;
sendfile on;
tcp_nopush on;
types_hash_max_size 2048;

Можно еще дополнительно установить gd:

apt install php-gd

Ну и естественно в конце перезапустим:

systemctl restart php8.1-fpm nginx

Описание, если веб-сервер Nginx, у Apache чуть по-другому, но суть такая же.