没有不值得去解决的问题,也没有不值得去学习的技术!

模板文件的验证规则:文件大小限制的分析

搜索 WordPress 中主题目录下的 .php 文件,其中最大的文件其大小为:1.59 MB。搜索 WordPress 中主题目录:的 .js 文件,其中最大的文件其大小为:402 KB。搜索 WordPress 中主题目录:的 .png 文件,其中最大的文件其大小为:911 KB。

1、参考 Shopify 后台的模板源码编辑,当上传一个大于 50 MB 的文件时,响应 413 Request Entity Too Large。这应该是 Nginx 的 server 中:client_max_body_size 50M 的设置所限制。如图1

参考 Shopify 后台的模板源码编辑,当上传一个大于 50 MB 的文件时,响应 413 Request Entity Too Large。这应该是 Nginx 的 server 中:client_max_body_size 50M 的设置所限制。
图1

2、当上传一个 48.5 MB 的 css 文件时,耗时 2 分钟,上传成功,响应 200。如图2

当上传一个 48.5 MB 的 css 文件时,耗时 2 分钟,上传成功,响应 200。
图2

3、当新增或编辑一个 368 KB 的 liquid、json 文件时,响应 422。模板内容超出 256 KB 的限制。如图3

当新增或编辑一个 368 KB 的 liquid、json 文件时,响应 422。模板内容超出 256 KB 的限制。
图3

4、当在 Assets 下新增一个空白文件 1.css.liquid 后,再编辑时,添加内容大小为 1.81 MB 。保存成功。

5、在 WordPress 后台的外观 – 主题文件编辑器中编辑 Hueman: 首页模板 (index.php),当添加了 736 KB 的内容后,更新成功,响应 200。耗时 1.5 秒。如图5

在 WordPress 后台的外观 - 主题文件编辑器中编辑 Hueman: 首页模板 (index.php),当添加了 736 KB 的内容后,更新成功,响应 200。耗时 1.5 秒。
图5

6、当添加了大于 50 MB 的内容时,响应 502。出现了问题,您的修改可能未被保存,请重试。您也可能需要通过FTP手工修复并上传文件。查看网络中的响应:无法加载响应数据: Request content was evicted from inspector cache。确认新添加的内容已经成功保存至模板文件中。通过重新查看模板文件内容确认。如图6

当添加了大于 50 MB 的内容时,响应 502。出现了问题,您的修改可能未被保存,请重试。您也可能需要通过FTP手工修复并上传文件。查看网络中的响应:无法加载响应数据: Request content was evicted from inspector cache。确认新添加的内容已经成功保存至模板文件中。通过重新查看模板文件内容确认。
图6

7、当添加了 46.5 MB 的内容时,响应 502。最后一直到 22.8 MB ,皆响应 502。到 22.7 MB,响应 200。

8、搜索 WordPress 中主题目录下的 .php 文件,其中最大的文件其大小为:1.59 MB。搜索 WordPress 中主题目录:的 .js 文件,其中最大的文件其大小为:402 KB。搜索 WordPress 中主题目录:的 .png 文件,其中最大的文件其大小为:911 KB。如图7

搜索 WordPress 中主题目录下的 .php 文件,其中最大的文件其大小为:1.59 MB。搜索 WordPress 中主题目录:的 .js 文件,其中最大的文件其大小为:402 KB。搜索 WordPress 中主题目录:的 .png 文件,其中最大的文件其大小为:911 KB。
图7

9、最后制定出自身的规则:Assets 目录下的文件的大小限制为 10 MB(MySQL MEDIUMBLOB 限制为 16 MB),Locales 目录下的文件的大小限制为 2 MB,其他目录下的文件的大小限制为 512 KB。

关于作者 · 持续学习与技术实践

我是一名拥有 15 年以上开发经验的技术从业者,自 2013 年起持续运营个人技术博客,记录工作与个人项目中遇到的真实问题,以及解决问题过程中的探索、实践和思考。

除了技术写作,我也在持续开发和维护自己的独立项目,探索新技术和新工具在实际场景中的应用。我始终相信,没有不值得去解决的问题,也没有不值得去学习的技术。

如果这篇文章对你有所帮助,欢迎浏览博客中的其他文章,也欢迎交流技术经验与想法。

关于我  ·  GitHub  ·  邮件联系