Inilah kesalahan yang tiba-tiba saya dapatkan.
Additional uncaught exception thrown while handling exception.
Original
PDOException: SQLSTATE[70100]: Unknown error: 1317 Query execution was interrupted...my query
Additional
PDOException: SQLSTATE[HY000]: General error: 2006 MySQL server has gone away...my query
Setelah melakukan riset, itu terdengar seperti modul khusus, yang saya buat, sedang mencoba kueri yang terlalu besar. Solusi yang tampaknya berhasil bagi banyak orang adalah ini:
- Buka my.ini
- Ubah "max_allowed_packet" dari "1m" menjadi "16m" (atau lebih besar)
- Simpan my.ini dan mulai ulang MySQL
Namun, saya berada di server bersama, jadi saya tidak dapat mengedit my.ini, dan meskipun penyedia saya telah mengkonfirmasi kepada saya bahwa nilainya diatur ke 1M, mereka tidak akan meningkatkannya.
Saya juga mencoba menambahkan ini: ini_set('mysqli.reconnect', 'on');
ke settings.php
. Itu tidak menyelesaikan masalah.
Adakah yang tahu solusi lain, atau mencari solusi?
Terima kasih.
Jawaban:
Perusahaan hosting bersama tidak memberikan hak istimewa SUPER . Jika sudah, Anda dapat dengan mudah mengatur max_allowed_packet ke 512M dengan hanya menjalankan ini:
Tidak diperlukan restart. Kemudian, semua koneksi yang masuk setelahnya dapat memiliki paket 512M .
Anda tidak dapat melakukan ini:
karena kamu mengerti
Satu-satunya alternatif yang dapat saya pikirkan adalah beralih ke Amazon EC2 dan menginstal MySQL di sana. Dengan begitu, Anda dapat memiliki kebebasan untuk mengedit my.cnf / my.ini dan memiliki hak istimewa SUPER .
sumber
Saya meminta penyedia saya untuk meningkatkan nilainya, tetapi mereka tidak mau. Saya bisa mengerti mengapa, mereka adalah bisnis dan mereka ingin saya membayar 29,99 per bulan untuk server khusus, daripada 4,99 untuk server bersama.
Namun, ada solusinya: mengidentifikasi kueri yang terlalu besar dan memecahnya menjadi dua bagian atau lebih. Saya membagi kueri masalah saya menjadi setengah: masalah terpecahkan. Tidak efisien - ya - tetapi lebih baik daripada situs saya tidak berfungsi sama sekali atau harus membayar ekstra.
sumber
TEXT/BLOB fields
kode rigging jerry Anda.Masalahnya adalah karena
max_allowed_packet
, Anda mengaturnya dengan nilai yang lebih besar.Cara memperbaiki masalah ini (jika Anda berada di windows dan menggunakan xamp lain temukan file my.ini)
Buka xampp \ mysql \ bin
Buka my.ini
Ubah "max_allowed_packet" dari "1m" menjadi "16m"
Simpan my.ini
Sekarang mulai ulang MySql melalui panel kontrol XAMPP.
Temukan solusi ini di sini. http://minorpoint.blogspot.com/2007/09/mysql-server-has-gone-away.html
sumber