PHP 5 ve MySQL 4 . 1 kurulumu
Uzuun süredir çıktı çıkacak denen PHP 5 sonunda çıkıverdi . Birçok PHP yazılımcısı PHP 5'e yaklaşmaktan korkuyormu nedir bilemiyorum PHP 5 üzerinde tek makale bile göremiyorum . PHP'nin 5 versiyonunu incelediğimizde görüyoruz ki: PHP artık OOP "opbejct Oriented Programing" mantığına yönelmekte . Java programlama dilinden birçok komutu bünyesine kattığı gözükmekte . Ayrıca MySQL'in yeni versiyonu olan MySQL 4 . 1 için ayrı bir bağlantı sistematiği geliştirmiş . Buna da kısaca MySQLi adını vermekte . Hemen korkmaya mecal yok . Eski kodlarınızı MySQL 4 . 1'e taşırsanız da aynı şekilde kodlarınız çalışacak . Herhangi bir sorun yaşanmıyor . Sadece bu MySQL'in yeni nesil programı olan 4 . 1 versiyonu için ayrı bir komut sistematiği geliştirmiş . Bu komut mantığı ile OOP mantığıyla veritabanına bağlanma özelliği büründürülmüş .
Birde tabi PHP'nin 5 versiyonunda sürekli söylenen doğal MySQL desteğinin kaldırılması , yerine SQLite adında küçük bir veritabanı programı getirilmesi . Bence fuzuli bir program . PHP içine mutlaka gömülü bir veritabanı desteği gelecek diye bir kaide mi oluştu lki böyle bir strateji içerisine girildi anlamak mümkün değil . Peki nedir PHP ile MySQL'in sorunu?PHP 3 ve 4 versiyonlarında gerek derlenme sırasında gereksede hazır sistem kurulmasında MySQL için bir ayarlama gerektirmiyordu . Şimdi ise tıpkı PostgreSQL veritabanını kullanacaksan gerekli ayarlamaları yapıyorsak , MySQL içinde aynı ayarlamaları yapmamız gerekecek .
Bu makalede PHP 5'in kurulumu ile MySQLi için basit bir örnek vereceğiz . Birçok okurumdan gelen istek doğrultusunda önce PHP 5'in Windows ortamında nasıl kurulabileceğini açıklayalım . Bu işlem için önce http://www . php . net/ adresinden gerekli PHP 5 dosyasını indirip ana dizininizde yani C:php dizininde açın . Sonra klasik olacak ama Apache'nin ayar dosyası olan httpd . conf dosyasının en alt kısmına aşakğıdaki kodu ekleyin .
ScriptAlias /php/ "c:/php/"
AddType application/x-httpd-php . php
Action application/x-httpd-php "/php/php-cgi . exe"
Kurulumu CGI yöntemiyle yapacağımızdan PHP 5'de direkt olarak php . exe dosyasını çağırmıyoruz . Onun yerine php-cgi . exe dosyasını çağırıarak dosyalarımızı derliyoruz . Bu ayarlamayı yaptıktan sonra PHP'nin ayar dosyası olan php . ini-dist adındaki dosyayı php . ini adıyla değiştirip bu dosyayı açıyoruz . Önce formdan gelen verileri yakalayabilmemiz için:
register_globals = off
satırının önünde yer alan off yaraını on yapalım . Yani bu satının olması gereken şekil alttaki gibi olacak .
register_globals = on
Bu ayarlamayı yaptıktan sonra , MySQL veritabanı ve diğer modülleri kullanabilmemiz için gerekli olan modül ekleme bölümünü bulun .
extension_dir = " . /"
Yukarıda ki ayar satırını bulup tırnak içerisine c:phpext yazmanız gerek . Yani bu ayar satırının son hali alttaki gibi olmalı .
extension_dir = "C:phpext"
Bu ayarlamayı yaptıktan sonra , MySQL modüllerini sisteme eklemek için php . ini dosyasının alt kısımlarında sıralanan extension lar altına alttaki satırları ekleyip php . ini dosyanızı kaydedin ve Apache web serverinizi restart edin .
extension=php_mysqli . dll
extension=php_mysql . dll
Artık ayarlamalarımız bitti . Şimdi sıra geldi PHP'nin açlışıp çalışmadığını test etmek . Bunun için alttaki kodu info . php adıyla kaydedip çalıştırın .
<? phpinfo ( ) ; ?>
Artık yeni bir MySQL kodu yazmaya geçebiliriz .
<html>
<head>
<title>PHP 5 MySQL 4 . 1</title>
</head>
<body>
<?
try
{
$db = new mysqli ( "localhost" , "root" , "" , "aspet" ) ;
}
catch ( Exception $hata )
{
print "Mesaj: " . $hata->getMessage ( ) ;
}
try
{
$sorgu = $db->query ( "SELECT * FROM uyeler" ) ;
while ( $row = $sorgu->fetch_assoc ( ) ) {
printf ( "%s %s<br />
" , $row["adi"] , $row["soyadi"] ) ;
}
$sorgu->close ( ) ;
}
catch ( Exception $hata )
{
print "Mesaj : " . $hata->getMessage ( ) ;
}
$db->close ( ) ;
?>
</body>
</html>
Yukarıda ki koda baktığımızda Aaa nekadar da Java'ya benziyor sözlerini duyar gibiyim . Evet , hata ayıklama sistemi tamamen Java'dan alıntıyapılarak kullanılmış . Zaten PHP kendine özü bir dil değil , Perl , C ve Java'dan alınan kodlar yardımıyla bütünleştirilen bir dil .
Kodumuzu kısaca açıklamamız gerekirse: mysqli komutunun içerisine tıpkı PostgreSQL'de olduğu gibi bağlanılan veritabanı adını da 4 . parametre olarak yazıyoruz . Diğer sistem tamamen PHP'nin OOP mantığyla çalışıyor . Yani değişkenden sonra -> işareti kullanılarak komutun son kısmını alıyoruz . Hata ayıklama sistemi ise tamamen Java'dakiyle aynı dersek yanlış bir tabir kullanmamış oluruz zannedersem .
Biz burada PHP 5'in kurulumu ile basit bir veri listeleme yapan örnek dosya oluşturduk . Hemen veri ekleme kodunu da istediğinizi duyar gibiyim ama bunu yapmayacam . Tennezzül edip de oturun , PHP 5 için bişeyler üretin . Yok üretmek istemiyorum diyorsanız PHP4 komutlarını aynı şekilde kullanarak PHP 5'i 4 gibi de kullanmak bir seçenek