上传大于10kb的文件时接收404

时间:2016-12-26 作者:nu everest

我使用AJAX代码构建了一个文件上传表单,该代码在我的本地主机(xampp/apache)上运行良好。我可以上传256MB大小的文件。使用HTTP。

然而,当我在aws ec2上将此代码上载到我的nginx服务器时,当我尝试上载任何大于10KB的文件时,会得到404(是的,这是一个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\']

在本例中,我上载的两个文件为9KB。

当您看到Post ... 404 () 在底部,这是因为我试图上传一个22KB的文件。

enter image description here

在nginx中。形态I设置

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

1 个回复
最合适的回答,由SO网友:nu everest 整理而成

检查nginx错误。日志(基于nginx.conf error\\u log location)。

$ sudo nano /path/to/nginx/error.log
上存在“权限被拒绝”错误/var/lib/nginx. 这是因为我改变了user 在nginx中设置。conf发件人

user nginx;
去做别的事。在这种情况下,

user iam;

Solution:

检查/var/lib/nginx上的当前用户和组所有权。

$ ls -ld /var/lib/nginx
drwx------ 3 nginx nginx 4096 Aug  5 00:05 /var/lib/nginx
这表明可能不存在名为nginx 拥有此文件夹。这会阻止文件上载。

将文件夹所有权更改为nginx中定义的用户。本例中为confiam (可能不需要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
权限被拒绝错误现在应该消失。检查错误。日志(基于nginx.conf error\\u log location)。

$ sudo nano /path/to/nginx/error.log
如果这不起作用,您可能需要重新加载nginx和php-fpm。

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

相关推荐

尽管ALLOW_UNFIRTED_UPLOADS设置为TRUE,.epub文件仍被阻止

我仍然得到X.epub:抱歉,出于安全原因,不允许使用此文件类型;尽管添加了:define(\'ALLOW_UNFILTERED_UPLOADS\', true); 给我的wp-config.php.当然,我允许在博客网络的配置中使用这种类型的文件:这是正常情况吗(以及using filters 是唯一的解决方法吗)?或者这是一件奇怪的事情(比如某个插件或主题覆盖了它),你应该继续寻找可能的原因?EDIT (在评论和更多测试之后):这是。epub文件仅与问题相关。我能够证实ALLOW_UNFIL