Intereting Posts
Нужен ли мне цикл для отображения объекта, прикрепленного к сообщениям? Можно ли манипулировать списком шаблонов страниц? Ограничение слов в post_content после большего количества тегов Количество таксономии за тип сообщения Сбросить весь статус запасов в woocommerce Как временно удалить контент со всех страниц, но оставить URL-адрес? Добавить JQuery Datepicker в настраиваемое поле в post edit Нестандартные значения поля не отображаются на странице редактирования пользовательского типа сообщения изменение размера миниатюр не работает Выйти из поддомена, не на WordPress страницы на другом сервере? Как передать название должности терминам tax_query? плагин внутри темы wordpress Кнопка «Внешняя ссылка» под заголовком «Post Expression» на Index.php Как «отменить публикацию» или «скрыть» сообщения при изменении роли пользователя? Обновить постоянную связь, когда новая категория добавлена ​​к пользовательской таксономии типа сообщения

Получение 404 при загрузке файла размером более 10 КБ

Я создал форму загрузки файла, используя код AJAX, который отлично работает на моем localhost (xampp / apache). Я могу загружать файлы размером до 256 МБ. Использование HTTP.

Однако, когда я загружаю этот код на свой сервер nginx на aws ec2, я получаю 404 при попытке загрузить любой файл размером 10 КБ (да, это K). Я использую HTTPS.

Я думал, что, возможно, настройки php.ini были неправильными, поэтому я добавил этот код в форму загрузки файла.

<script> console.log("max_execution_time = <?php echo(ini_get('max_execution_time')); ?>"); console.log("max_input_time = <?php echo ini_get('max_input_time'); ?>"); console.log("memory_limit = <?php echo ini_get('memory_limit'); ?>"); console.log("post_max_size = <?php echo ini_get('post_max_size'); ?>"); console.log("file_uploads = <?php echo ini_get('file_uploads'); ?>"); console.log("upload_max_filesize = <?php echo ini_get('upload_max_filesize'); ?>"); console.log("max_file_uploads = <?php echo ini_get('max_file_uploads'); ?>"); console.log("default_socket_timeout = <?php echo ini_get('default_socket_timeout'); ?>"); </script> 

Я получаю этот вывод консоли.

Обратите внимание на 0, за которым следует «Успех загрузки файла». Здесь 0 – код ошибки файла, то есть $_FILES['ninja_file']['error']

Два файла, которые я загрузил в этом случае, были 9 КБ.

Когда вы видите Post ... 404 () внизу, из-за которого я пытаюсь загрузить файл размером 22 КБ.

введите описание изображения здесь

В nginx.conf я установил

 client_max_body_size 0; 

Установка размера в 0 отключает проверку размера тела запроса клиента на документы. Http://nginx.org/en/docs/http/ngx_http_core_module.html#client_max_body_size

Технологии:

  • WordPress 4.7
  • PHP 7.0
  • NGINX 1.10

Solutions Collecting From Web of "Получение 404 при загрузке файла размером более 10 КБ"

Проверьте nginx error.log (на основе местоположения nginx.conf error_log).

 $ sudo nano /path/to/nginx/error.log 

В /var/lib/nginx ошибка «разрешена». Это произошло потому, что я изменил настройку user в nginx.conf из

 user nginx; 

к чему-то другому. В этом случае,

 user iam; 

Решение:

Проверьте текущее имя пользователя и группы на / var / lib / nginx.

 $ ls -ld /var/lib/nginx drwx------ 3 nginx nginx 4096 Aug 5 00:05 /var/lib/nginx 

Это говорит о том, что возможно несуществующий пользователь и группа с именем nginx принадлежит этой папке. Это предотвращает загрузку файлов.

Измените владельца папки на пользователя, определенного в nginx.conf, в этом случае iam (sudo может не понадобиться).

 $ sudo chown -Rf iam:iam /var/lib/nginx 

Убедитесь, что он действительно изменился.

 $ ls -ld /var/lib/nginx drwx------ 3 iam iam 4096 Aug 5 00:05 /var/lib/nginx 

Разрешение отклонить ошибку теперь должно исчезнуть. Проверьте error.log (на основе местоположения nginx.conf error_log).

 $ sudo nano /path/to/nginx/error.log 

Если это не сработает, вам может потребоваться перезагрузить nginx и php-fpm.

 $ sudo service nginx reload $ sudo service php-fpm reload