Mysqli UTF8 Error veya SQLSTATE[HY000] [2019] Can't initialize character set UTF8503
CloudLinux tabanlı sunucularda önemli bir hata olarak son güncelerde karşımıza çıkmaktadır. PHP’nin mysqli
uzantısı, güncellemeler sonrasında sorunlu hale gelmiştir. Bu sorun nedeniyle cPanel Reseller yada cPanel Hosting hizmeti olan kişilerin web sitelerinde”SQLSTATE[HY000] [2019] Can't initialize character set UTF8503"
hataları görülmeye başlanmıştır. Ayrıca, veritabanı bağlantıları başarısız olmuştur. Kullanıcılar şu hata mesajı ile karşılaşmaktadır:
SQLSTATE[HY000] [2019] Can't initialize character set UTF8
Bu hata, karakter seti başlatılamadığı için ortaya çıkmıştır. mysqli
uzantısı UTF8 karakter setini yükleyememektedir. Bununla birlikte, sorun sadece mysqli
ile sınırlı kalmamıştır. mysql
ve pdo_mysql
uzantılarında da benzer hatalar tespit edilmiştir.
Bu Sorun Neden Oluyor?
Mysqli UTF8 Error sorunun temelinde alt-php
yapılandırmasındaki bir değişiklik bulunmaktadır. Güncellenen alt-php
paketlerinde karakter seti tanımlamalarında bozulma yaşanmıştır. Bu nedenle, PHP uzantıları çalışamaz hale gelmiştir. Özellikle UTF8 karakter seti desteklenmemektedir. Bu durum, birçok PHP uygulamasında kritik arızalara yol açmıştır.
Bu hata CloudLinux tarafından doğrulanmıştır. Geliştirici ekip, geçici ve kalıcı çözümler sunmuştur. Bu çözümler sayesinde sitelerin tekrar çalışması sağlanabilecektir.
Geçici Çözüm
Geçici bir çözüm olarak, nd_*
uzantılarına geçiş önerilmektedir. Böylece hataların geçici olarak giderilmesi mümkündür. Aşağıdaki değişiklikler yapılmalıdır:
mysql → nd_mysql
mysqli → nd_mysqli
pdo_mysql → nd_pdo_mysql
Bu değişiklikler yapılırsa sistem tekrar çalışabilir. Ayrıca, karakter seti hataları da ortadan kalkar. Ancak bu yöntem geçici bir çözümdür. Kalıcı çözüm için sistem güncellenmelidir.
Güncelleme ile Kalıcı Çözüm
CloudLinux, sorunu çözmek için bir düzeltme yayımlamıştır. Bu düzeltme şu anda beta sürümündedir. Yine de, test sunucularında denenmesi mümkündür. Kalıcı çözüm için şu komutlar çalıştırılmalıdır:
yum update alt-php-config --enablerepo=cloudlinux-updates-testing
alt-php-mysql-reconfigure --verbose
Bu işlemler sonrasında mysqli
ve diğer uzantılar düzgün şekilde çalışacaktır. Ayrıca karakter seti hataları ortadan kalkacaktır. Bu nedenle, sistem yöneticilerinin bu işlemleri yapması önemlidir.
Tavsiyelerim
Bu sorun birçok web sitesini etkilemiştir. Özellikle paylaşımlı hosting kullanan siteler zarar görmüştür. Ancak CloudLinux tarafından sunulan çözümler işe yaramaktadır. Sistem yöneticileri tarafından gerekli adımlar atılırsa sorun çözülebilir. Sorun geçicidir ve kalıcı çözüm sunulmuştur.
Sonuç olarak, mysqli
uzantısındaki hata dikkatli şekilde giderilmelidir. Ayrıca, sistemin düzenli güncellenmesi önemlidir. Bu tür hataların tekrar yaşanmaması için izleme yapılmalıdır. Güncelleme sonrası testler yapılmalıdır. Böylece sistem güvenliği sağlanabilir.