SSH Kullanarak Linux PHP Versiyonu Öğrenme 0

Merhaba Arkadaşlar bugünkü yazım daha kısa oluacak. Vericeğim ufak kod ile sunucunuzdaki kurulu php sürümünü öğrenebilir hatta ekstra olarak zend, ioncube gibi eklentilerde kurulumu görebilirsiniz.

SSH ile sunucuya bağlanıp alttaki kodu yazıyoruz.

php -v

Yukarıdaki kodu yazdıktan sonra aşağıda şöyle bir çıktı alıcaksınız;

PHP 5.1.6 (cli) (built: Apr 7 2013 08:00:04)
Copyright (c) 1997-2006 The PHP Group
Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies

Bunu SSH üzerinden öğrenebilirsiniz demiştik şimdi birde php ile öğrenelim.

PHP Versiyonu PHP ile Öğrenme

Alttaki php kodu ilede php versiyonunuzu öğrenebilirsiniz.

<?php
        phpinfo();
?>

PHP ile Tarayıcının Varsayılan Dilini Bulma 0

PHP ile çok dilli uygulamalar, web siteleri geliştiriyorsanız mutlaka HTTP_ACCEPT_LANGUAGE‘yi kullanmanız gerekiyor. Her tarayıcı farklı sonuçlar verecektir bunu örneklerle öncelikle görelim daha sonra bunları temizlemeyide göstereceğim. Boş bir php dosyası oluşturup içerisine alttaki kodu yazın;

<?php
	echo $_SERVER['HTTP_ACCEPT_LANGUAGE'];
?>

Daha sonra bu dosyayı sunucuya yada localhost’unuza atın ve tüm tarayıcılarınızda çalıştırın. Sonuçlar şu şekilde çıkacaktır;

  • Firefox: tr-TR,tr;q=0.8,en-US;q=0.5,en;q=0.3
  • Chrome: tr
  • Internet Explorer: tr
  • Opera: tr-TR,tr;q=0.8,en-US;q=0.6,en;q=0.4
  • Safari: tr-TR

Sonuçlar birbirinden farklı olduğu için sadece tarayıcının varsayılan dilini almak için alttaki kod ile sadece varsayılan dili temizleyip alabilirsiniz;

<?php
	$lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2);
?>

Bu şekilde ilk 2 karakteri alıp tr seçeneğine ulaşmış olduk. Ama biz bu kadarını öğrenmek istemiyoruz daha çok öğrenmek istiyoruz mesela alternatif dil sunmak, coğrafi bölgelere farklı diller sunmak isteyebiliriz.

Tarayıcılara sunucuya tarayıcının kullanabildiği mevcut dilleri HTTP_ACCEPT_LANGUAGE başlığı ile gönderirler. “tr-TR” ifadesinde “tr” mevcut dili belirtirken, ‘den sonra gelen “TR” ifadesi ise yerleşim bölgesi olarak ifade edilir. Türkiye bunu tam olarak anlayamayız ancak Amerika birleşik devletlerinde şu şekilde bir sonuç almaktayız “en-US” ile “en-CA” arasında daha net anlayacağız. Her iki ifadede tarayıcının dili “en” yani ingilizce olmakla birlikte, yerleşim bölgeleri ISO formatına göre ilkinde Amerika Birleşik Devletleri diğerinde ise Kanada olarak görülür. Buraya kadar anladık peki “q=” ne anlama geliyor? “q” ifadesi öncelik anlamına gelmektedir. q ifadesi 0 (sıfır) ile 1 (bir) arasında bir değer almak zorundadır. Örneğin “tr-TR;q=x” şeklinde bir ifadede “q=x” değeri ne kadar büyükse varsayılan olarak o kullanılır. Firefox’taki sonucumuzu incelersek: tr-TR,tr;q=0.8,en-US;q=0.5,en;q=0.3 burada tr dilinin 0.8 aldığını görebiliriz.

Bir kaç örneğide incelemek lazım;

  • tr-TR,tr;q=0.8,en-US;q=0.5,en;q=0.3 = tr varsayılan dildir.
  • tr-TR,tr;q=0.8,en-US;q=0.9,en;q=0.9 = en varsayılan dildir.

q= : Öncelik anlamına gelir.

tr-TR, en-US, en-CA : TR,US,CA yerleşim bölgelerini ifade etmektedir.

WHM / cPanel Mail Fonksiyonunu Kapatmak 0

Spam maillerin bir çoğu hackerlar tarafından sistemlere sızıp phpmail ile yüzlerce, binlerce mail gönderiyor. İşte aslında tüm olay bundan sonra kopuyor sunucu spam mail göndermeye başlayınca doğal olarak sunucu’nun kullandığı IP adresi blacklist yani kara listeye alınıyor. Paylaşımlı hosting‘lerde bu büyük bir sıkıntı 1 VDS‘de 200 site olduğunu düşünürsek bu 200 site blacklist’den dolayı mail gönderememeye başlayacak. 1 Kişinin yüzünden hepsi cezalandırılmış gibi olsada artık hosting firmaları buna Hosteva‘da dahil php mail gönderimini kapatmış bulunuyor.

Php mail’i kapatıp müşterileri SMTP mail’e yönlendiriyoruz. Php maili sunucuda kapattıktan sonra artık hiç bir script mail gönderimi yapmayacak smtp kullanmak zorunda kalacaktır. WordPress gibi profesyonel yönetim panellerinin bu problemlere karşın smtp eklentiside bulunuyor ama diğerleri için kesin bir şey söyleyemem 🙂

WHM -> Service Configuration -> PHP Configuration Editor kısmına girin.

Basic Mode ve Advanced Mode kısmını göreceksiniz orada Advanced Mode kısmına tıklayın.

disable_functions” kısmına virgülden sonra mail olarak ekleme yapıyoruz.

Böylece sunucumuzdaki php mail gönderimini kapatmış oluyoruz. Artık sunucu sadece SMTP üzerinden mail gönderecek.

Most Popular Topics

Editor Picks