Время от времени на мою электронную почту приходят материалы, поступающие из контактной формы CF7, с прикрепленными неработающими файлами изображений.
Загруженный файл прилагается, но его размер составляет ровно 1 байт, поэтому его совершенно невозможно использовать.
Сложность заключается в том, что:
- Это не происходит постоянно
- Похоже, что это происходит в основном (или только) с изображениями, имеющими [/b]
Код: Выделить всё
.jpeg - Я не заметил такой же проблемы (или она встречается крайне редко) с .jpg, .png или .pdf
Поле загрузки файла настроено следующим образом: это:
Код: Выделить всё
[file artwork-photo filetypes:jpg|jpeg|png|pdf|heic|webp limit:20mb class:form-control]
На сервере работает PHP 8.3.28 (FPM) и имеются следующие соответствующие настройки:
- : 512M
Код: Выделить всё
memory_limit - : 900
Код: Выделить всё
max_execution_time - : 900
Код: Выделить всё
max_input_time - : 256 М
Код: Выделить всё
post_max_size - : 256 М
Код: Выделить всё
upload_max_filesize - : on
Код: Выделить всё
opcache.enable
Среда
- Версия контактной формы 7: 6.1.4
- Версия WordPress: 6.9
- Как правильно это отладить?
- Есть ли способ зарегистрировать процесс загрузки в CF7?
- Могу ли я проверить, не поврежден ли файл уже на уровне загрузки PHP ()?
Код: Выделить всё
$_FILES
- Может ли это быть связано конкретно с файлами .jpeg?
- Несоответствие типов MIME?
- Проблемы кодирования на стороне клиента?
- EXIF / Progressive JPEG?
- Известны ли пограничные случаи CF7 или PHP-FPM, которые могут привести к загрузке 1-байтового файла?
- Любые рекомендуемые перехватчики или фильтры в контактной форме 7 для перехвата и проверки файла перед обработкой или отправкой по электронной почте?
Заранее спасибо!
Подробнее здесь: https://stackoverflow.com/questions/798 ... -files-how
Мобильная версия