Php’ de default olarak session yönetimi için dosya sistemi kullanılır. Lakin in-memory çalışan Redis‘ i session için kullanmamız sistemimizi büyük oranda hızlandırmaktadır. Aşağıdaki rehberde, basit ayarlar yaparak, php uygulamalarınızda redis’ i session handler olarak kullanmayı anlatacağım. Aşağıdaki anlatım, Ubuntu server için geçerlidir. Diğer linux dağıtımlarında da ufak farklılıklar ile çalışacaktır. 

Öncelikle şunu belirtmem gerekmekte. Redis-server kullanılan uygulamalarda redis-server, uygulamanın çalıştığı ana web servera değil, ayrı bir servera kurulur. En performanslı,sağlıklı ve olması gereken kullanımı bu şekildedir. Bu tarz bir kullanımda, aşağıdaki anlatımda değişecek olan şeyler çok fazla değil. Sadece ayarlar da localhost yerine, aynı network te bulunan redis serverın ip si verilmesi gerekiyor. Bu yüzden, siz redis server ı asıl olması gerektiği gibi, ayrı bir serverda kullanıyorsanız, gerekli düzenlemeleri yapmanız gerekmektedir. Ben örneklemenin kolay olması açısından, redis-server ve uygulamanın kendisini aynı serverda çalıştıracağım.

Kullanım Rehberi

“Redis Server’ ı kurmak”

Eğerki redis server’ ı halen kurmadıysanız, http://angulartr.com/ubuntu-server-a-redis-kurulumu/ adresinden kurup http://angulartr.com/redis-server-inizi-guvenli-hale-getirin/ adresindeki güvenlik önlemlerini almayı KESİNLİKLE ihmal etmeyin. Session ile çalışacağız ve güvenlik ayarları mutlaka ama mutlaka tam yapılmalı.

“PHP Redis eklentisini kurmak”

Aşağıdaki komut ile PHP’ nin Redis server ile iletişim kurabilmesini sağlayan eklentiyi kuruyoruz.

“Redis’ i session handler olarak seçmek”

Ayarlamamız gereken dosya php.ini dosyası, lakin kullandığınız stack’ e göre bu dosyanın yolu değişiyor.

Apache kullanıyorsanız ilgili dosyası aşağıdaki komut ile;

Nginx kullanıyorsanız aşağıdaki komut ile;

açın ve session.save_handler satırını bulup files olan değeri redis olarak değiştirin.

Yine aynı dosyada session.save_path satırını buluyoruz başındaki # işaretini kaldırıyoruz. Redis kurulumu yaptıktan sonra, şifre koymayı ihmal etmediğinizi düşünüyorum ve session.save_path e yazacağınız değeri aşağıda veriyorum. Şifrenizi kendinize göre değiştirin.

Değişiklikleri yaptıktan sonra dosyayı kaydedip çıkın, ve php yi restartlayın.

“PHP Session ve Redis’ i test ediyoruz”

Tarayıcı üzerinden ulaşabileceğiniz bir dizine aşağıda içeriğini verdiğim php dosyasını test.php adıyla kaydediyoruz.

Ardından tarayıcı ile bu dosyayı birkaç defa çağırıyoruz. Örneğin; sitem.com/test.php

Her çağırdığımızda ekranda yazan sayının 1 arttığını görmelisiniz.

Ardından redis cli’ a giriyoruz.

aşağıdaki komut ile login oluyoruz

aşağıdaki komut ile redis’ i monitor etmeye başlıyoruz.

Tekrar tarayıcıyı açıp, test.php yi birkaç defa çağırıyoruz ve komut satırına döndüğümüzde, aşağıdakine benzer loglar görmeliyiz. Eğer görüyorsak işlemler başarı ile sonuçlanmış demektir.

 

Leave A Comment

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir