负载均衡双服务器Liquid环境下WPBakery Page Builder安装失败求助
负载均衡环境下WPBakery Page Builder安装故障排查与解决
故障现象
在负载均衡架构的两台服务器Liquid环境中安装WPBakery Page Builder时,频繁出现安装中断、500错误。开启WP_DEBUG(添加以下代码到wp-config.php)后,进入「导入内容」步骤时出现两类核心错误:
define( 'WP_DEBUG', true ); define( 'WP_DEBUG_LOG', true );
- 参数顺序错误:
Required parameter $width follows optional parameter $attach_id in C:\inetpub\wwwroot\MediionWp\wp-content\plugins\liquid_js_composer\include\helpers\helpers.php - 文件缺失错误:
(C:\inetpub\wwwroot\MediionWp/wp-content/plugins/liquid_js_composer/js_composer.php): Failed to open stream: No such file or directory
解决步骤
1. 修复文件缺失问题
- 检查两台服务器的
liquid_js_composer插件目录,确保所有文件完全同步。负载均衡环境下,两台服务器的网站文件必须一致,否则请求分发到不同服务器时会出现文件缺失。 - 重新上传完整的
liquid_js_composer插件包到其中一台服务器,再用服务器同步工具(如rsync、共享存储)同步到另一台,避免手动上传漏文件。 - 确认插件包是官方正版或主题适配的完整版本,别用残缺的下载包。
2. 修正PHP参数顺序错误
- 打开报错文件
C:\inetpub\wwwroot\MediionWp\wp-content\plugins\liquid_js_composer\include\helpers\helpers.php,找到对应的函数定义。PHP 7.0+要求必填参数不能放在可选参数后面,把$width这类必填参数移到$attach_id(带默认值的可选参数)前面。 - 举个例子,原函数如果是:
修改成:function some_function($attach_id = null, $width) { // 函数内容 }function some_function($width, $attach_id = null) { // 函数内容 } - 修改后同步文件到两台服务器,保证两边代码一致。
3. 负载均衡环境额外优化
- 确认两台服务器的PHP版本完全一致,版本差异可能引发语法兼容问题(比如参数顺序的严格要求在不同PHP版本里不一样)。
- 检查两台服务器的
wp-config.php配置完全相同,包括缓存、debug相关设置,避免配置差异导致请求异常。 - 安装时暂时关闭负载均衡的会话粘性,或者把所有请求临时路由到单台服务器,完成安装配置后再恢复负载均衡,防止安装过程中请求分发到不同服务器导致状态不一致。
内容的提问来源于stack exchange,提问作者Dalibor
相关产品推荐
相关产品推荐

