Laravel Nginx PHP-FPM特定url客户端\u最大\u正文\u大小

Laravel Nginx PHP-FPM特定url客户端\u最大\u正文\u大小,php,laravel,nginx,Php,Laravel,Nginx,我在Nginx PHP-FPM上运行我的Laravel应用程序。 我有一个功能要求,要求网页允许视频上传高达100 MB。 我不想打开整个请求以允许100MB 这是我最初的nginx设置: 服务器{ 听80; 听[:]:80; web/public的根目录/路径; index.php index.html; 服务器名称www.myweb.com; 客户最大尺寸为18m; 地点/{ try_files$uri$uri//index.php?$query_string; } 代理连接超时180秒;

我在Nginx PHP-FPM上运行我的Laravel应用程序。 我有一个功能要求,要求网页允许视频上传高达100 MB。 我不想打开整个请求以允许100MB

这是我最初的nginx设置:

服务器{ 听80; 听[:]:80; web/public的根目录/路径; index.php index.html; 服务器名称www.myweb.com; 客户最大尺寸为18m; 地点/{ try_files$uri$uri//index.php?$query_string; } 代理连接超时180秒; 代理发送超时180秒; 代理读取超时180秒; fastcgi_发送_超时180秒; fastcgi_读取超时180秒; 将PHP脚本传递给FastCGI服务器 位置~\.php${ 包括snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.2-fpm.sock; fastcgi_参数脚本_文件名$realpath_根$fastcgi_脚本_名称; fastcgi_参数文档_ROOT$realpath_ROOT; fastcgi_param PHP_VALUE newrelic.appname=www.myweb.com; } } 服务器{ 听443; 听[:]:443; ssl-on; ssl_证书/证书路径/cert/cert.pem; ssl\u证书\u密钥/证书路径/cert.key; web/public的根目录/路径; index.php index.html; 服务器名称www.myweb.com; 客户最大尺寸为18m; 地点/{ try_files$uri$uri//index.php?$query_string; } 代理连接超时180秒; 代理发送超时180秒; 代理读取超时180秒; fastcgi_发送_超时180秒; fastcgi_读取超时180秒; 将PHP脚本传递给FastCGI服务器 位置~\.php${ 包括snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.2-fpm.sock; fastcgi_参数脚本_文件名$realpath_根$fastcgi_脚本_名称; fastcgi_参数文档_ROOT$realpath_ROOT; fastcgi_param PHP_VALUE newrelic.appname=www.myweb.com; }
} 恢复到原始配置,仅更改以下内容:

 location / {
        client_max_body_size 18m;
        try_files $uri $uri/ /index.php?$query_string;
    }   

 location /path-to-video-upload {
        client_max_body_size 256m;
        try_files $uri $uri/ /index.php?$query_string;
    }   


您不需要匹配任何.php正则表达式,除非您的路由中明确包含php。它将匹配完整的Laravel路由,并仅对该URL应用正文大小限制。

我仍然发现413请求实体太大。我甚至在没有自定义位置的情况下测试它,并使位置/{client_max_body_size 256M;}感谢您的回答!我设法找到了解决方案我已经用解决方案更新了我的问题