Masalah: Tamat Masa Sambungan Pelayan MySQL selepas 60 Saat, Ralat "Pelayan MySQL telah hilang - tepat dalam 60 saat"
Isu yang diterangkan berpunca daripada tamat masa yang berkaitan dengan pilihan PHP mysql.connect_timeout. Pilihan ini bukan sahaja mempengaruhi tamat masa sambungan tetapi juga masa yang diperlukan untuk menerima respons pertama daripada pelayan MySQL.
Punca Punca:
Pilihan mysql.connect_timeout biasanya ditetapkan kepada 60 saat secara lalai. Apabila skrip PHP melaksanakan pertanyaan yang mengambil masa lebih lama daripada 60 saat untuk dilaksanakan pada pelayan MySQL, skrip PHP akan tamat masa dan membuang ralat "Pelayan MySQL telah hilang".
Penyelesaian:
Untuk menyelesaikan isu ini, tingkatkan pilihan mysql.connect_timeout kepada nilai yang lebih besar daripada jangkaan masa pelaksanaan anda pertanyaan. Ini akan membolehkan skrip PHP menunggu lebih lama untuk respons daripada pelayan sebelum tamat masa.
Anda boleh mengubah suai pilihan mysql.connect_timeout menggunakan fungsi ini_set() dalam skrip PHP anda:
ini_set('mysql.connect_timeout', 300); // Set to 300 seconds ini_set('default_socket_timeout', 300); // Set the socket timeout to match the connect timeout
Dengan meningkatkan pilihan mysql.connect_timeout, anda secara berkesan melanjutkan tempoh menunggu untuk skrip PHP menerima respons daripada pelayan MySQL, sekali gus menghalang Ralat "Pelayan MySQL telah hilang".
Atas ialah kandungan terperinci Mengapa Masa Sambungan PHP MySQL Saya Selepas 60 Saat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!