MySQL 錯誤疑難解答:「準備好的語句需要重新準備」
遷移具有修改的PHP 程式碼和MySQL 儲存過程的網站時從本機環境到託管伺服器,持續存在的致命錯誤「『準備好的語句需要重新準備』」一直困擾著網站的運作。
錯誤原因:
根本問題可能與 MySQL bug #42041 有關,它會影響準備好的語句快取。當語句快取不足時,伺服器重新啟動後可能無法重複使用prepared statements,導致錯誤。
解決方案:
解決方案在於調整伺服器的table_definition_cache 變數。此變數設定其定義快取在記憶體中的表的最大數量。透過增加其值,您可以容納更多快取的準備好的語句,並有可能解決錯誤。
實作:
要修改table_definition_cache 值,請依照下列步驟操作:
SHOW VARIABLES LIKE 'table_definition_cache';
SET GLOBAL table_definition_cache = <new-value>;
其他資源:
有關預備語句快取的更多信息,請參閱官方MySQL 文件:
https://dev.mysql. com/doc/refman/8.0 /en/statement-caching.html
以上是為什麼我的網站在遷移後拋出「準備好的語句需要重新準備」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!