記一次PHP的Invalid binding type問題
首先說明下環境問題,新舊伺服器的遷移。程式碼在老伺服器執行沒有任何問題。環境都是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。
stackoverflow.com/questions/3960323/why-dont-php-attributes-allow-functions
好吧,我們們就重新編譯,可是編譯完了一旦導流過來,馬上就又掛掉。PHP-FPM正常執行,但不是所有的都會出問題,於是測試訪問的時候是有的可以有的報錯的。再深入對比發現,新伺服器為了將來的擴充套件我們安裝了swoole擴充套件。可能問題就出在這裡,馬上刪掉swoole擴充套件,問題解決。
在swoole官網也並沒有找到相關的資訊。預估可能是程式碼中或者在PHP-FPM的配置中有和swoole不相容的地方。所以在執行的過程中沒有流量的時候正常測試不會有影響,但流量較大的情況下就會產生這種錯誤。有的時候很多程式碼看似執行沒毛病,但真正的問題往往還是要在大流量高併發的場景下才能體現出來。
===============
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/1795/viewspace-2827040/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)的問題處理方式之一ApacheBATException
- 記一次 PHP artisan 命令無任何反應的問題PHP
- 蘋果登入的invalid_grant問題記錄蘋果
- org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)ApacheBATException
- 解決org.apache.ibatis.binding.BindingException: Invalid boundApacheBATException
- React報錯之Element type is invalidReact
- 記一次 Redis 容量 超限的問題Redis
- 記一次排查CPU高的問題
- 記一次問題發現
- 記一次oom問題排查OOM
- 記錄一次問題排查
- The method getWriter() is undefined for the type HttpServletRequest的問題UndefinedHTTPServlet
- unexpected reloc type問題分析
- invalid stream header: EFBFBDEF 問題解決Header
- 記一次 Laravel MethodNotAllowedHttpException 問題排查LaravelHTTPException
- 記一次HttpClient使用問題分析HTTPclient
- 記一次jstack命令定位問題JS
- error: invalid type argument of unary ‘*‘ (have ‘int‘) *__first = __tmp;Error
- vue專案中解決type=”file“ change事件只執行一次的問題Vue事件
- 記一次 Composer 問題的解決過程!!
- 記錄一次XTTS遷移碰到的問題TTS
- 關於PHP記憶體洩漏的問題PHP記憶體
- 記一次檔案亂碼導致PHP原始碼被直接輸出問題PHP原始碼
- 記一次HDFS Delegation Token失效問題
- 記一次OOM問題排查過程OOM
- 記一次線上FGC問題排查GC
- err Invalid input of type: 'dict'. Convert to a byte, string or number first
- `jsonb` 報錯 `invalid input syntax for type timestamp with time zone ““JSON
- 記錄一次CTF解題PHP反序列化PHP
- 記一次域名服務訪問超時問題
- 記錄一次spark連線mysql遇到的問題SparkMySql
- 記錄一次無法很好解決的問題
- 記一次棧溢位異常問題的排查
- 記一次序列化的JSON解析問題JSON
- 記一次 Nuxt 3 在 Windows 下的打包問題UXWindows
- 【Windbg】記一次執行緒卡主的問題執行緒
- 線上問題排查:記一次 Redis Cluster Pipeline 導致的死鎖問題Redis
- 【問題】【SpringBoot】記一次springboot框架下用jackson解析RequestBody失敗的問題Spring Boot框架