Hata: Belirteç Uyuşmazlığı PHPMyAdmin
MySQL’i yönetmek için birçok tool var. MysqlWorkbench, HeidiSQL vs. Fakat bence en kolayı ve en iyisi PHPMyAdmin çünkü doğrudan SQL çalıştırıyosun, verileri birçok formatta export ediyosun falan filan. Üstelik web uygulaması olduğu için hiçbir program kurmadan, crack yapmadan, sistem kaynağını fazla tüketmeden MySQL’i yönetmenize imkan sağlıyor. Fakat her yazılımda olduğu gibi bu yazılımın da bazı sinir bozucu tarafları var. Bunlardan en çok karşılaşılanı “Belirteç Uyuşmazlığı” isimli hata. Bu teknik olarak bir hata değil. Sadece PHP’nin session mekanizmasıyla ilgili olan bir durum. Lütfen izah etmeme izin verin.
PHP’de session süresi vardır. Bu süre default olarak ne kadar bilmiyorum ama benimkinde 1440 saniye olarak görünüyor. Yani 24 dakika. Biz iş icabı yoğun insanlarız ve bazen PHPMyAdmin’e iki saat boyunca dokunmadığımız zamanlar oluyor. Doğal olarak oturum süresi doluyor ve PHPMyAdmin’in adres çubuğundaki “token” ifadesi ile session’da yeni oluşturulan “token” ifadesi farklı oluyor ve bu ikisi birbirine eşit olmadığı için “Hata: Belirteç Uyuşmazlığı” şeklinde kırmızı bir kutucuk alıyoruz. Bu durumda komple sayfayı refresh yapıp yeni token almak gerekiyor. Bu bazen kafa dağılmasına, işin bölünmesine, saç baş yolunmasına sebebiyet veriyor. Bu teknik olarak normal ama insanlık için anormal olan durumu halletmenin en iyi yöntemi php.ini dosyasında session.gc_maxlifetime isimli değişkenin değerini arttırmak. Ben garanti olsun diye normal değerin sonuna “0” koydum yani normal sürenin 10 katına çıkardım. 4 saat sonra oturum düşüyor ve genelde o kadar süre içerisinde mutlaka PHPMyAdmin ile birşeyler yapmış oluyorum. Bu sabah bu hatayı hallettim ve saat şuan 13:38 ve hala bu hatayı almadım. Eskiden olsa en az iki defa almıştım ve kafayı yemiştim.
Fakat şöyle bir durum var. Linux sistemlerde birden fazla php.ini dosyası oluyor. Apache için ayrı, PHP-FPM için ayrı, PHP-CLI için ayrı dosyalar var. O an çalışan server için gerekli php.ini dosyasını güncellemeniz gerekiyor. Bunun için önce şu kodu konsolda çalıştırıp php.ini dosyalarının yerlerini öğrenmeniz gerekiyor.
locate php.ini
Sonra çalışan sistem için gerekli olan (benimkinde Apache Handler) php.ini dosyasını şu komutla açabilirsiniz:
sudo vim /etc/php5/apache2/php.ini
Vim’de bir satırı bulmak için şunu yazıyoruz:
/session.gc_maxlifetime
Bunu yazdıktan sonra gerekli satırı buluyoruz ve “i” tuşuna basıp insert moduna geçiyoruz ve oradaki değeri değiştiriyoruz. Sonra kaydedip kapatıyoruz. Tabiki değişikliklerin etkili olması için Apache servisini yeniden başlatmamız gerekiyor. Bunu da şu komutla yapıyoruz:
sudo service apache2 restart
Artık gönül rahatlığıyla PHPMyAdmin’imizi kullanabiliriz. Herkese mutlu günler dilerim.
0 yorum