现象与环境
当用户点击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问题解决