最近在帮助客户使用Elementor设计搭建WordPress外贸独立站时,出现了Elementor编辑后保存无法更新的问题。如果你也出现了类似的问题,可以参考我们的解决方式。

首先,使用过Elementor编辑搭建WordPress网站出现这种问题,大多数情况下是由于服务器的CPU配置过低或者PHP内存不足造成的,一般造成的后果就是出现:
- 1、无法保存,
- 2、保存后无法更新
- 3、无法保存文章
对于这种常规问题首先只需要更改服务器中的PHP配置即可。
文章目录
Toggle常规PHP配置修改优化
常规的PHP配置修改如下:
php_admin_value[memory_limit]
-
- 作用:控制单个 PHP 脚本能够使用的最大内存量。如果脚本所需内存超过此限制,PHP 将终止执行。
- 默认值:
128M或256M。 - 建议值:根据应用需求调整为更大的值,特别是文件处理较多时。可以设置为
512M或更高。
php_admin_value[post_max_size]
- 作用:控制通过
POST方法提交的最大数据量,包括文件上传和表单数据。如果 POST 请求体的大小超过此限制,服务器会拒绝请求。 - 默认值:通常为
8M。 - 建议值:应大于或等于
upload_max_filesize,例如50M或100M。
php_admin_value[upload_max_filesize]
- 作用:控制 PHP 能够处理的单个文件上传的最大大小。如果文件大小超过此限制,上传将失败。
- 默认值:通常为
2M或8M。 - 建议值:根据实际需求调整为更大的值,例如
20M或50M。
php_admin_value[max_input_vars]
- 作用:控制 PHP 解析的最大输入变量数量。对于复杂的表单提交,输入变量数量可能很大。如果此值不足,部分表单数据可能无法被处理。
- 默认值:
1000。 - 建议值:如果处理复杂或较大的表单,可以将其增加到
3000或更高。
php_admin_value[max_file_uploads]
- 配置项:
max_file_uploads - 作用:限制单个请求中能够同时上传的文件数量。
- 默认值:
20(即单次请求最多可上传 20 个文件)。 - 适用场景:如果您的应用允许用户一次上传多个文件,这个参数可以防止用户上传过多的文件,保护服务器资源。如果用户尝试上传的文件数超过此限制,多余的文件将被忽略。
以cloudways服务器配置方式为例:
点击网站后-》找到左边的Application Settings-》再点击上方的PHP FPMSettings
就可以出现PHP 配置文件,按照你自己的需求,更改配置即可。

如果你使用的宝塔管理或者其他服务器,也是一样的,找到PHP文件编辑即可。
然而,如果你已经对这些常规的基础配置修改过,还是无法解决问题,可以参考如下的两个解决方案:
两种其他解决方案
第一种:先禁用WP-rocket插件和其他缓存插件
第一步:进入你的WordPress后台,点击左侧导航栏的已经安装的插件。

第二步:直接点击插件旁边的禁用即可。

禁用后,你可以再次刷新网站,进行编辑,尝试保存。如果你还有其他缓存插件,比如Brezze、Object Cache Pro 等优化缓存插件,你可以都禁用掉。等到你使用Elementor编辑保存更新完毕后,再重新开启。
第二种:更改服务器里面的SecRequestBodyNoFilesLimit参数
首先要知道什么是SecRequestBodyNoFilesLimit参数?
SecRequestBodyNoFilesLimit 是 ModSecurity 中的一个重要配置参数,用于控制 HTTP 请求体中不包含文件上传部分的最大大小。它主要负责限制没有文件上传的请求体的字节数上限,以防止恶意用户发送超大请求,导致服务器资源被耗尽或服务被拒绝(DoS 攻击)。
具体作用:
- 限制非文件上传请求的大小:
SecRequestBodyNoFilesLimit只对那些不包含文件上传的请求体进行限制;这些请求体通常是表单数据(如POST请求)。 - 防止资源滥用:通过设置
SecRequestBodyNoFilesLimit,您可以防止恶意用户发送非常大的请求体(如非常大的 JSON、XML、表单数据等),以避免服务器内存和带宽资源的滥用。 - 提高安全性:该参数的主要目的是提高服务器的安全性,防止通过发送大请求体进行的拒绝服务攻击(DoS 攻击)或其他资源枯竭攻击。
SecRequestBodyNoFilesLimit工作原理是什么?
当服务器接收到一个 POST 请求时,ModSecurity 会检查请求体的大小。如果请求体的大小超过了 SecRequestBodyNoFilesLimit 的限制,ModSecurity 会拒绝处理该请求,并返回 413 Request Entity Too Large 或其他错误响应。
这是为了避免某些攻击者利用未受限的请求体大小,通过发送大量数据来消耗服务器资源,导致服务中断或性能下降。
例子:
假设 SecRequestBodyNoFilesLimit 被设置为 10485760(即 10 MB),那么当用户提交一个不包含文件的表单,且表单数据大小超过 10 MB 时,ModSecurity 会拦截该请求,不允许其继续处理。
默认值:
- 默认值:
131072字节(即 128 KB)。 - 这个默认值相对较小,适合一般的表单提交。但对于需要处理较大数据的应用程序(例如需要提交大量数据的 API 请求、复杂的表单提交等),这个默认值可能会导致请求被拒绝,从而需要调整为更大的值。
如何调整SecRequestBodyNoFilesLimit参数?
在 ModSecurity 的配置文件中,可以根据应用需求调整该参数。如果您的应用需要处理较大的请求体,可以将其设置为更大的值。
步骤一:找到 ModSecurity 配置文件
在服务器上,ModSecurity 的配置文件通常位于以下路径之一:
/etc/modsecurity/modsecurity.conf/etc/httpd/modsecurity.d/modsecurity.conf/etc/apache2/modsecurity.d/modsecurity.conf
步骤二:调整 SecRequestBodyNoFilesLimit 参数
打开配置文件,找到 SecRequestBodyNoFilesLimit 参数(如果没有,可以手动添加),并修改其值。例如,将其设置为 10 MB(即 10485760 字节):
SecRequestBodyNoFilesLimit 10485760
步骤三:保存文件并重启服务
保存配置文件后,重启 Web 服务器(如 Apache 或 Nginx),以使更改生效。
对于 Apache,可以使用以下命令重启服务:
sudo service apache2 restart
对于 Nginx,可以使用以下命令:
sudo service nginx restart
如果你是购买的cloudways或者siteground 及hosttinger这种主机,你是没有权限自己直接用命令修改的,你可以选择联系这些服务器平台的技术支持或者客服让他们帮助修改。
总结
对于elementor编辑中遇到的问题,一般可以分为两类,一般是缓存问题,另一部分是服务器配置的问题。如果你遇到了类似相关的问题,可以尝试从,禁用或者清除缓存,升级服务器配置,修改PHP内存入手。如果还是不能解决此类问题,建议直接联系Elementor客服或者联系服务器的客服协助。
在此,也建议大家,尽量减少网站设计中的样式的使用,很多外贸B2B独立站,为了迎合企业的审美往往会做的非常复杂,样式非常多,特效也非常多,完全被过渡设计了。其实根据我们的谷歌SEO优化经验和谷歌广告优化经验,外贸B2B类型的独立站,应该主要突出的是公司实力的介绍,和产品内容的介绍,能够简洁方便客户寻找到重要的关注的信息是非常重要的。过渡的样式设计,并不能增加你的优化效果,反而会拖累你的网站速度,增加网站的响应时间。
