Mengapakah skrip PHP saya menggunakan PDO terus mendapat ralat 'Pelayan MySQL telah hilang' selepas beberapa pelaksanaan yang berjaya?

Patricia Arquette
Lepaskan: 2024-11-21 08:23:12
asal
333 orang telah melayarinya

Why does my PHP script using PDO keep getting a

Skrip PHP dengan PDO Menghadapi Ralat "MySQL Server Has Gone Away"

Skrip yang menjalankan tugas setiap malam menghadapi isu di mana PDO menyediakan kenyataan gagal dengan ralat "MySQL server has gone away" selepas beberapa pelaksanaan yang berjaya. Punca isu ini selalunya terletak pada melebihi saiz paket maksimum yang dibenarkan yang ditetapkan untuk MySQL.

Penyelesaian: Melaraskan Konfigurasi Pelayan

Untuk menyelesaikan ralat, adalah perlu untuk melaraskan tetapan max_allowed_packet dalam fail konfigurasi MySQL (my.ini). Tetapan ini menentukan saiz maksimum paket yang boleh dikendalikan oleh pelayan. Dalam senario yang diberikan, isu mungkin timbul apabila cuba memasukkan BLOB lebih besar daripada saiz yang dibenarkan.

Mesej Ralat dan Output Logger

Apabila isu ini berlaku, sisi klien memaparkan mesej ralat "Pelayan MySQL telah hilang." Selain itu, log pelayan mungkin mengandungi ralat berikut jika pengelogan ralat didayakan:

Error 1153 Got a packet bigger than 'max_allowed_packet' bytes
Salin selepas log masuk

Pelarasan Konfigurasi

Untuk membetulkan isu ini, tentukan saiz yang terbesar BLOB yang akan dimasukkan dan tetapkan max_allowed_packet dalam my.ini dengan sewajarnya. Sebagai contoh, jika saiz BLOB terbesar dianggarkan 200MB, konfigurasi boleh dilaraskan seperti berikut:

[mysqld]
...
max_allowed_packet = 200M
...
Salin selepas log masuk

Atas ialah kandungan terperinci Mengapakah skrip PHP saya menggunakan PDO terus mendapat ralat 'Pelayan MySQL telah hilang' selepas beberapa pelaksanaan yang berjaya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan