WHMCS当用户点击账户信息出现报错解决办法

现象与环境

当用户点击Account Details出现如下图错误

这里说明下我使用的是WHMCS8.1.0+PHP7.4

解决方案

首先定位到报错位置在/WHMCS安装目录/vendor/laminas/laminas-httphandlerrunner/src/Emitter找到SapiEmitterTrait.php

很明显问题出在39-41行,源码贴在这里

if (ob_get_level() > 0 && ob_get_length() > 0) {
    throw EmitterException::forOutputSent();
}

***WHMCS使用“ laminas”,该版本在PHP 7.2和更早版本之后未更新,并且无法在PHP 7.3或更高版本上使用。

知道原因就很容易解决了,改成如下

if (ob_get_level() > 0 && ob_get_length() > 0) {
    while(ob_get_level() > 0){ob_end_clean();}
}

结束

重新打开下Account Details验证,OK问题解决