首先阐明下环境问题,新旧服务器的迁徙。代码在老服务器运行没有任何问题。环境都是 PHP7.3,后果新的服务器上流量导过去当前,就报出了如下问题:
FastCGI sent in stderr: "PHP message: PHP Fatal error: Invalid binding type in /base.inc.php on line 221
这个 base.inc.php 的第 221 行是什么东东呢?
221 }
额,这就有点诡异了。正文掉相干的办法后,报错信息又顺延到下一个花括号的结尾处了。这就神奇了。于是去百度谷歌了半天,并没有什么有用的材料,惟一一个提到的内容是说从新编译一下 PHP。
https://stackoverflow.com/questions/3960323/why-dont-php-attributes-allow-functions
好吧,咱们就从新编译,可是编译完了一旦导流过去,马上就又挂掉。PHP-FPM 失常运行,但不是所有的都会出问题,于是测试拜访的时候是有的能够有的报错的。再深刻比照发现,新服务器为了未来的扩大咱们装置了 swoole 扩大。可能问题就出在这里,马上删掉 swoole 扩大,问题解决。
在 swoole 官网也并没有找到相干的信息。预估可能是代码中或者在 PHP-FPM 的配置中有和 swoole 不兼容的中央。所以在运行的过程中没有流量的时候失常测试不会有影响,但流量较大的状况下就会产生这种谬误。有的时候很多代码看似运行没故障,但真正的问题往往还是要在大流量高并发的场景下能力体现进去。
===========
各自媒体平台均可搜寻【硬核项目经理】