当前位置: 首页 > 后端技术 > PHP

记得PHP的Invalidbindingtype问题

时间:2023-03-29 20:17:29 PHP

先说明一下环境问题,新旧服务器的迁移。代码在旧服务器上运行没有任何问题。环境全是PHP7.3。结果新服务器上的流量导入后,报如下问题:FastCGIsentinstderr:"PHPmessage:PHPFatalerror:Invalidbindingtypein/base.inc.phponline221Whatisline221ofthisbase.inc.php?221},这个有点奇怪,把相关方法注释掉后,错误信息推迟到下一个花括号的末尾,这个很神奇啊。于是去百度谷歌找了半天,也没有什么有用的资料,唯一提到的就是重新编译PHPhttps://stackoverflow.com/questions/3960323/why-dont-php-attributes-allow-functions好吧,我们重新编译,但是编译完成,导流一结束就又挂了,PHP-FPM是正常运行的,但并不是所有的都会有问题,所以在测试访问的时候,有一部分是可以报错的。进一步对比之后,我们发现新服务器安装了swoole扩展,方便以后扩展,可能问题出在这里,删除马上eswoole扩展,问题解决。在swoole官网上查不到相关资料。估计可能是代码中或者PHP-FPM的配置中存在与swoole不兼容的地方。所以在运行过程中没有流量的时候不会影响正常测试,但是流量大的时候就会出现这个错误。是的有时候很多代码看似运行没有问题,但真正的问题往往体现在高流量高并发的场景中。===========各媒体平台均可搜索【硬核项目经理】