PHP temel Bilgileri Başlangıç 1. Bölüm

29 Aralık 2009 Yazan admin  
Kategori php

Php programlama dillerinden biridir ve açık kaynak kodlu olup oldukça popüler kullanımdadır bir çok büyük web sitesi php alt yapısında işlemektedir. PHP Php Rasmus Lerdorf tarafından öncelikle kendi kişisel web sayfalarını yazmak için yapıldı. ‘P’ersonal ‘H’ome ‘P’ages baş harflerinden türetidi. C ve perl dillerine benzer. Sunucu taraflıdır. Yani browserınızda değil bir server alt yapısında işler.

PHP’de de, bir çok baska bilgisayar programlama dilinde oldugu gibi degiskenlerin içine bir deger
konmadan önce tanimlanmasi mümkündür; fakat gerekli degildir. Degiskenleri adinin önüne $ isareti
koyarak tanimlariz:

< ?php
$ad;
$soyad;
$12345;
$Renk;
?>

PHP’de genellikle degiskenleri degerini atayarak belirleriz. Atama işlemi bir devir teslim gibi düşünebilrisiniz.

< ?php
$adi = "Resit";
$soyadi = "Gülen";
$123 = 123;
$sevdigiRenk = "yesil";
?>
Devamını oku

PHP DSO ortamında güvenlik

18 Aralık 2009 Yazan admin  
Kategori php

Eğer php DSO ortamında çalıştırıyorsanız bu fonksiyonları phpden disable etmelisiniz. Yine de bunları kaldırmak web uygulamarınızda bazı sorunlara yol açabilir. Shell scriptler ile sitenizi kolayca ele geçirebilirler.
system,passthru,exec,popen,proc_close,proc_get_st atus,proc_nice,proc_open,proc_terminate,shell_exec ,highlight_file,escapeshellcmd,define_syslog_varia bles,posix_uname,posix_getpwuid,apache_child_termi nate,posix_kill,posix_mkfifo,posix_setpgid,posix_s etsid,posix_setuid,escapeshellarg,posix_uname,ftp_ exec,ftp_connect,ftp_login,ftp_get,ftp_put,ftp_nb_ fput,ftp_raw,ftp_rawlist,ini_alter,ini_restore,inj ect_code,syslog,openlog,define_syslog_variables,ap ache_setenv,mysql_pconnect,eval,phpAds_XmlRpc,phpA ds_remoteInfo,phpAds_xmlrpcEncode,phpAds_xmlrpcDec ode,xmlrpc_entity_decode,fp,fput
bu fonksiyonları phpde kapatmalısınız.

Xcache Kurulumu

17 Aralık 2009 Yazan admin  
Kategori linux, php

Serverınızdan ekstra performans ve hız elde etmek için çeşitli yazılımlar mevcuttur bunlardan en başarılı olanı (xcache üreticisine göre) Xcache’dir
Son sürüm php 5.2.3 e kadar destek veriyor. Server gelen isteklere cevap verirken cachkenmiş nesneleri ram üzerinden hızla istek sahibine ulaştırıyor. Tekrar bir sql sorgusu gerek kalmıyor buda süreci hızlandırıyor. Ayrıca xcache var bölümü php değişkenleri cachleyip extra hız sağlıyor.

Geçelim kuruluma, bu kurulum gerçek bir kurulumdur kendimiz bu şekilde yaptık.

Xcache suan php cache scriptleri arasında performans açısından en başarılı script denebilir. Peki nasıl kurarız sunucumuza xcache’i gelin birlikte öğrenelim.
Neden xcache?
Mevcut cacheler arasında dso gerektirmeden güvenli suphp üzerine kurabilirsiniz.
EAccelerator kadar gelişmiş pek çok özelliği barındırır. Mevcut cachleme yazılımları arasında en başarılı olanıdır.
Salt php olan ve basit döngülerden ibaret tek site serverlar için yine dso + EAccelerator üçlüsünü öneriyoruz.

Bizim bu örnekte zend ile beraber kuruluşunu göreceğiz xcache zendin bir modülü gibi görülecek.cd /usr/local/src
wget http://xcache.lighttpd.net/pub/Releases/1.2.2/xcache-1.2.2.tar.gz

İndirdiğimiz source’u tar.gz’den çıkararak sırayla aşağıdaki adımları uygulayarak configure edelim.

PHP- Kodu:
tar -zxf xcache-1.2.2.tar.gz
cd xcache-1.2.2
phpize
./configure --enable-xcache
make
su
make install

(Satır satır komut satırına kopyalayıp yapıştır yapın zaman kazandırır )

Make install işlemimizden sonra modul’un bulunduğu yol çıkıcak karşınıza bu yolda no-debug-non-zts-xxxxxx yazan kısmı bir yere not edin.
bu şekilde olabilir:
“/usr/local/lib/php/extensions/no-debug-non-zts-20060613/”
Php.ini dosyanızın nerde bulunduğunu öğrenelim şimdi,

php -i | grep php.ini yazdığınızda veya locate php.ini, size php.ini dosyanızın bulundugu dizini vericektir.

PHP- Kodu:
ör: /usr/local/lib/php.ini
(genelde cpanelde buradadır direct admin ve pleskte etc/php.ini içinde olur) yaparak tam yerine bakabilirsiniz.

Biz /usr/local/lib/php.ini olduğunu varsayarak biz şimdi xcache’in ayarlarını php.ini dosyamızın sonuna ekleticez. (Sonuna ekledikten sonra kopyalayıp bu verileri php.ini dosyasının en başına yerleştiricez genelde zend kurulu makinelerde kurulmuş olsada kurulmamış gibi gösteriyor.)

Kod:
PHP- Kodu:
cat xcache.ini >> /usr/local/lib/php.ini
Sırada son bir değişiklik yapmak kaldı. Php.ini dosyamızı kullandığımız editör ile açalım.

Kod:
pico /usr/local/lib/php.ini (bazı serverlarda nano editörü de kullanılabilir)

En alt satırlara inelim Xcache ın ayarları karşımıza gelicek. Burada,

zend_extension = /usr/local/lib/php/extensions/no-debug-non-zts-xxxxxxx/xcache.so

Yukarıdaki satırı bulup burdaki /usr/local/lib/php/extensions/no-debug-non-zts-xxxxxxx satırını make install işleminden sonra karsımıza cıkan yol ile değiştirelim.

Hemen alt kısımlarda bulunan admin kullanıcı ve şifre kısmına http://webmastersitesi.com/md5_sifreleyici.html adresinde xcache admin paneline giriş için kullanacağımız şifremizi yazıp çıkan md5′li halini kopyalayıp xcache.admin.pass kısmına yapıştıralım. (Aşağıdaki gibi olucak)

[xcache.admin]
xcache.admin.user = "Giriş kullanıcı Adı"
; xcache.admin.pass = md5($your_password)
xcache.admin.pass = "md5ilesifrelenmisbidegergelecek"

xcache.size kısmına kullanması için ayıracağınız ram miktarını yazın. Önerilen: 140 MB
xcache count kısmına kullandıgınız işlemci dual ise 2 quad ise 4 yazabılırsınız.
xcache slot kısmına xcache count ıle aynı değeri verebilirsiniz.

Xvar cache kısmı 2 Gb makineler için 10 MB tutmanız önerilir
Değiştirmeniz gereken yerler bitti.

apache’mizi bir restart edelim

PHP- Kodu:
service httpd restart
Son olarak xcache’in admin panelini web’den ulaşılabilir yapalım. Tekrar xcache dızınımıze gidiyoruz. Buradaki admin klasorunu web’de kullanmak ıstedıgımız dızıne kopyalıyoruz.

örnek: domain.com sitenizin kullanıcısı domain diyelim ve dosyalarınızın yolunun /home/domainyolu/public_html klasörü içinde olduğunu varsayalım.

cd /usr/local/src/xcache-1.2.2 (önce mevcut klasörün içine giricez buradan bir klasörü başka bir web üzerindeki bir yere kopyalıcaz)
cp -r admin /home/domainyolu/public_html/ (cpanelde böyledir genelde domain yolu yazan yere domain kullanıcı adını yazmanız yeterli olur)

artık www.domain.com/admin/ bölümünden xcache için belirlediğimiz admin kullanıcı adı ve şifremiz ile paneline giriş yapabiliriz.
Giriş yaptığınızda cachlenen nesneleri görebilirsiniz.
Xcache’in başarılı biçimde kurulduğunu kontrol etmek için komut satırına
PHP- Kodu:
php -v
yazın

Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies
with XCache v1.2.2, Copyright (c) 2005-2007, by webmastersitesi
with the ionCube PHP Loader v3.1.34, Copyright (c) 2002-2009, by ionCube Ltd., and
with Zend Extension Manager v1.2.2, Copyright (c) 2003-2007, by Zend Technologies
with Zend Optimizer v3.3.3, Copyright (c) 1998-2007, by Zend Technologies
root@server [/usr/local/src/xcache-1.2.2]#

php -v bu şekilde bir sonuç döndürmüyorsa o zaman php.iniyi editörle açıp xcache de Zend eklentisi olarak görülen yolu en yukarı yapıştırın ve (XXX gelen yere Make install işlemimizden sonra çıkan yolun adı gelecek) örneğin 20060613.
Veya Zendi de kaldırabilirsiniz ama bellek yönetim performansı açısından kalmasında yarar var.

extension_dir = "/usr/local/lib/php/extensions/no-debug-non-zts-xxx/xcache.so"
zend_extension = "/usr/local/lib/php/extensions/no-debug-non-zts-xxx/xcache.so"
zend_extension = "/usr/local/IonCube/ioncube_loader_lin_5.2.so"
zend_extension = "/usr/local/Zend/lib/ZendExtensionManager.so"
zend_extension_ts = "/usr/local/IonCube/ioncube_loader_lin_5.2_ts.so"
zend_extension_ts = "/usr/local/Zend/lib/ZendExtensionManager_TS.so"

CTRL + X kaydedip çıkın. Sonra bir restart atın.
httpd restart

bold edilen kısımda xcachein yüklendiği görülüyor. webmastersitesi kısmı bizim xcache paneline giriş kullanıcı adımız oluyor

Xcache zendle uyumsuz gibi söylentiler var bunların aslı yoktur. Vbulletin forumlarda inanılmaz performans artışı sağlıyor. Özellikle son vbulletin eklentisi 3.8.1 ile sql sorguları 3 te bir azalıyor.

Webmaster Sitesi Alınmıştır.
Xcache Kurulum

Neden Server & Yazılım Optimizasyson Yapılmalı

17 Aralık 2009 Yazan admin  
Kategori hosting, linux, php

Başarılı olan hemen her projenin altında bir takım farklar vardır. Bu farklar HIZ, Fikrin Gücü, Zamanlama, Maddi kaynaklar vb. Burada fikrinize ve amacınıza güveniyorsanız ilk başlıcağınız nokta server yani alt yapıdır. Alt yapı olmadan hiç bir bina inşa edilemez. Dikkat edin bütün başarılı siteler hızlıdır. Çünkü hız için çok düşünmüş ve kaynak harcamışlardır. Aynı stabildirler bi var bi yok değil her zaman hazır ve nazırdırlar. Öyleyse ne yapıcaz optimizasyon…
Hosting kullanıcıları için fazla yapıcak bişey yok onlar sadece script ve yazılım tabanında bir optimizasyon yapabilir veya iyi bir host seçimi yaparak kazanabilirler. VPs ve server kullanıcıları ve çok serverlı webmasterlar için yapacak biçok şeyvar hatta bir ton ödev.

Bunlar kısaca neler…
32 bit mi 64 bitmi karar vermek
linux mu windows mu seçmek karar vermek
php mi asp mi seçmek bunların hızlandırıcıları
bir veri tabanı mssql, oracle, mysql ve eklentileri
hangi cache yazılımı
Filecache, APC, EAccelerator, Xcache, memcache ve bunların ayarlamaları
Yazılım tarafında optimizasyon örneğin yazılımda cron tabanlı statik sayfalar oluşturmak çünküstatik sayfalar daha hızlı gelir ve işlemci çalıştırmazlar.
Yaptığım testlere göre php çalıştırmak kesinlikle yavaşlatıyor siteler ve projeler çoğunlşukla statik olmalı bir değişkeni çağırmaktansa hiç çağırmadan statik yazmak ve öyle vermek çok daha verimlidir.
Apache, Lighthttp vb. web server seçimibunların kurulması ve ayarlamaları modları vb.
Serverda hdd seçimi örneğin 5400 RPM 7200 RPM 10k normal disk 10 SCSIdisk ve bunların ön bellekleri
Anakart seçimi,
serverın soğutma kapasitesi, parçaların kalitesi
Raid seçimleri raid 0 mı raid 5 mi
uplink 10 100 1000 gbps
Lokasyon türkiye almanya hollanda vb. vb.
Bu gibi pek çok değişkeni iyi anlayıp bütçeye ve bir plana karar vermek lazım

Ama tüm bunlardan daha önemlisi en temel etken sizin isteğiniz ve sonrasında isteğe cevap vericek zekanız, öğrenme kapasiteniz ve teknik ve maddi imkanlarınızdır. Ama öncelik istektir.

Server & yazılım optimizasyon ilk başta öğrenilmesi gereken işlerden. Dikkatinizi buraya çekmek istedim.

PHP NEDİR?

12 Aralık 2009 Yazan admin  
Kategori php

İnternet sitesini ziyaretçilerin internet sitesine bilgi gönderme ve/veya bu bilginin internet sayfasındaki yazılımlarla yorumlanıp site ziyaretçisine geri bildirim yapması istendiğinde sunucu taraflı bir internet sayfası programlama dili gereklidir. Bu sunucu taraflı programlama dilerinden birisi de PHP dilidir. PHP, “ Hypertext Preprocessor” sözcüklerinin baş harfleriyle temsil edilen HTML içine gömülebilir açık kaynak kodlu, genel amaçlı, özellikle site geliştirmeye uygun bir betik dilidir.

PHP dilinin ücretsiz olarak temin edilebilmesi ve kullanılabilmesi, internet ortamında php ile ile ilgili pek çok yazı ve yardım alabileceği pek çok internet sitesi bulunması sebebiyle internet sayfası programcıları tarafından sıkça tercih edilen bir dildir. Dil yapısının önemli bir kısmını C, Java ve Perl gibi dillerden almış, kendisine has özelliklerle bu yapıyı pekiştirmiş, kolay öğrenilen bir dildir.

Bütün sunucuya yönelik programlama dillerinde olduğu gibi herhangi bir internet tarayıcısında açılan internet sayfasındaki kaynak kodlara bakıldığında PHP kodları görülmez. Bu durum internet sayfasını yapan programcının kaynaklarını saklamalarını kolaylaştırır ve internet sayfasının güvenliğini sağlar.



Link Değişimi