PHP Nedir?
PHP, dünyada en çok kullanılan web programlama dillerinden biridir. Biraz daha teknik bir açıklama yapmak gerekirse şöyle söylenebilir. PHP, sunucu taraflı çalışan bir betik ve programlama dilidir. Önceleri kişisel web sitesi yapmak amacıyla Rasmus Lerdorf tarafından geliştirilen php, gördüğü büyük ilgiyle çok yaygın kullanılan bir dil haline gelmiştir. Bu nedenle Personel Home Pages ifadesini değiştirerek artık PHP Hypertext Preprocessor rekürsif ifadesini kullanmaya başlamıştır.
Personel Home Pages : Kişisel web sayfası
PHP Hypertext Preprocessor: Üstün Yazı Önişlemcisi olarak çevrilen ve kendi tanımı içerisinde kendini barındıran (recursif) bir ifadedir.
PHP, dünyada en çok kullanılan web sunucusu olan apache üzerinde çalışan ve gösterdiği üstün performans ile web dünyasında çok önemli bir yere sahip olan bir dildir. (Bazı eklentilerle IIS üzerinde de çalışabilmektedir.)
PHP ile ayrılmaz bir bütün olan MySQL veritabanı ile etkileşimli web sayfaları yapmak oldukça kolaydır. PHP ve MySQL o kadar uyumlu çalışır ki ikisi ayrılmaz iki kardeş sayılırlar. Bu, veritabanı olarak sadece MySQL kullanılabileceği anlamına gelmiyor tabiki. PHP ile Access, Microsft SQL Server, PostgreSQL ve Oracle gibi bir çok veritabanına da bağlantı kurulabilir. Ancak en uyumlu çalıştığı veritabanı sunucusu MySQL'dir.
Gelişim sürecine göre günümüzde PHP5 versiyonu mevcuttur. Öncesinde ise PHP4 ve PHP3 versiyonları vardır. PHP5'in bunlardan en önemli farkı nesneye yönelik programlamaya imkan vermesidir.
PHP kodları çoğu zaman HTML kodları arasına gömülü olarak yazıldığından öncesinde HTML kodlarınının bilinmesinde fayda vardır.
PHP ile Neler Yapılabilir?
PHP ile yapılabilecek bazı uygulamalar şunlardır
Avantajları
Bunların yanında söyleyebileceğimiz dezavantajları ise şunlardır.
PHP'nin Çalışması
PHP, HTML içine gömülerek yazılan ve sunucu taraflı (server side) çalışan bir dildir. Bunun anlamı şudur:
Biz, php kodlarımızı HTML etiketleri arasına yerleştiririz. Kullanıcılar ise tarayıcısının adres çubuğundan, içinde php kodları bulunan bu sayfayı istediği zaman bu istek web sunucuya iletilir. Bu isteği değerlendiren sunucu istenen dosyadaki HTML kodlarını olduğu gibi kullanıcıya gönderir ancak bizim araya eklediğimiz php kodlarına gelince bu kodları php yorumlayıcıya gönderir. Php yorumlayıcı php kodlarını yorumlayıp çalıştırdıktan sonra web sunucuya HTML karşılığını gönderir. Web sunucu php kodlarına karşılık gelen HTML kodlarını aldığında bunları kullanıcıya yollar.
Sonuçta kullanıcılara gönderilen sadece HTML kodlarıdır. Onlar hiçbir zaman bizim sayfaya eklediğimiz php kodlarımızı göremez. PHP kodlarının HTML karşılığını görürler.
Şekil: PHP'nin Çalışması
Hazırladığımız PHP sayfalarını çalıştırmak ve denemek için o dosyayı gerçek sunucuya göndermek ve bunu her değişiklikte tekrar tekrar yapmak çok zor ve gereksiz bir iştir. Bunun yerine hazırladığımız PHP sayfalarını kendi bilgisayarımıza kurduğumuz web sunucu yazılımı ile test eder ve son halini aldıktan sonra gerçek sunucuya göndeririz.
Kendi bilgisayarımıza kuracağımız web sunucu localhost olarak adlandırılır. Bunun kurulumu ve yapılandırılması için "localhost Kurulumu" başlıklı yazımızı okuyunuz.
Localhost Kurulumu
Hazırladığımız PHP sayfalarını gerçek sunucuya yüklemeden önce kendi bilgisayarımızda test etmek için web sunucu yazılımını ve beraberinde gerekli diğer programları bilgisayarımıza kurmamız gerekmektedir. Kendi bilgisayarımıza kuracağımız web sunucu localhost olarak adlandırılır.
Kendi bilgisayarımızda php çalıştırmak için aşağıdaki programları kurmamız gerekmektedir.
PHP çalıştırmak için kullanılan hazır programlardan ençok kullanılanları şunlardır:
Bunlardan birini bilgisayarınıza kurarak php yazmaya başlayabilirsiniz. Bu programlara sitemizin alt kısmındaki resimlere tıklayarak ulaşabilirsiniz. Biz bunlardan EasyPHP kurulumunu ve yapılandırmasını anlatacağız.
Bu yazımızın hazırlandığı tarih itibariyle EasyPHP'nin 5.3.2 sürümü mevcut olduğundan bunu bilgisayarımıza indirdik ve kurmaya başladık.
EasyPHP kurulumunu yaptıktan ve çalıştırdıktan sonra görev çubuğunda saatin olduğu kısma simgesi geliyor. Bu simgeye çift tıkladığımızda karşımıza gelen pencereden easyPHP'yi yönetebiliyoruz. Bazı durumlarda easyPHP'yi çalıştırdığımız halde apache yada mySQL başlatılamadığından elle bu servisleri başlatmamız gerekebilir. Bunu için de yine bu pencereyi kullanıyoruz.
Kurulumu yaptıktan sonra hazırladığımız php sayfalarını C:\Program Files\EasyPHP-5.3.2\www\ dizinine kaydetmeliyiz. Kaydettiğimiz sayfayı test etmek için kullandığımız tarayıcıyı açıp adres çubuğuna;
http://localhost/sayfaadi.php yazmak yeterlidir.
Eğer daha önceden asp yada aspx için IIS'yi kurduysanız yani localhost yüklediyseniz bizim php için yüklediğimiz localhost ile çakışmaktadır. Bunun sebebi her iki sunucu da web sayfalarını istemcilere 80 nolu porttan göndermek istemeleridir. Bu durumda sunuculardan birinin port numarasını 81 olarak değiştirmemiz gerekecektir. Sonradan kurduğumuz apache web sunucunun portunu 81 olarak değiştirmek için aşağıdaki pencerede görünen seçeneği kullanmalısınız.
Bu seçeneğe tıkladığımızda karşımıza gelen metin dosyasında 56.satırdaki (farklı versiyonlarda satır numarası değişebilir) Listen 127.0.0.1:80 satırını Listen 127.0.0.1:81 olarak değiştirip kaydetmek yeterlidir.
Bu değişiklikten sonra kaydettiğimiz sayfaları çağırırken tarayıcımızın adres çubuğuna;
http://localhost:81/sayfaadi.php şeklinde bir adres yazmamız gerekmektedir.
Yaşanan Bazı Sorunlar
EasyPHP'yi Windows Vista'da yada Windows 7'de kurup çalıştırdığımızda MySQL ile ilgili bir hata mesajı almakta ve MySQL veritabanı sunucusunu çalıştırılamamaktadır.
Bunun sebebi Windows Vista'da ve Windows 7'deki güvenlik önlemleridir. Bunu aşmak için EasyPHP'yi, sağ tıklayarak yönetici olarak çalıştırmak yeterlidir.
Diğer bir sorun da sayfaları C:\Program Files\EasyPHP-5.3.2\www\ dizinine kaydederken karşılaştığımız kaydetme izniniz yoktur sorunudur.
Bu sorunu aşmak için www dizininine sağ tıklayıp Özellikler->Güvenlik->Düzenle->Users için Tam Denetim iznini ver demek yeterlidir.
Diğer bir çözüm olarak farklı bir dizini örneğin masaüstünde oluşturacağınız www dizinini web dizini olarak kullanmaktır. Bunun için tarayıcınızın adres çubuğuna http://localhost/home yazıp gelen sayfada LOCAL WEB başlığı altındaki Document root dizininin yolunu (C:\Program Files\EasyPHP-5.3.2\www\) change diyerek masaüstünde oluşturduğunuz www dizininin yolu (C:\Users\kullanıcı-adınız\Desktop\www\) ile değiştirip kaydetmek yeterlidir. Bunu yaptıktan sonra artık sayfalarınızı masaüstündeki www dizinine sorun
yaşamadan kaydedebilirsiniz.
Not: Yolun sonundaki \ işaretini koyduğunuzdan emin olunuz.
Pardus'da PHP Çalıştırmak
PHP, linux dünyasının web dili olarak bilinmekte, buna karşılık windows dünyasının web dili ise asp ve aspx olarak bilinmektedir. Durum böyleyken PHP'yi bir linux üzerinde çalıştırmak isteyenler için bu yazımızı hazırladık. Ancak bu yazıda bu işin Pardus Linux üzerinde nasıl yapıldığını anlatacağız. Zira bizim geliştirdiğimiz linux dağıtımı Pardus'dur.
Pardus'da php çalıştırmak için öncelikle birkaç paket kurmamız gerekmektedir. Bunlar şunlardır:
Bu paketleri paket yönetisicinden yada konsoldan kurabilirsiniz.
Paketlerin kurulumu bittikten sonra aşağıdaki servislerin çalıştırılması gerekmektedir.
Bu servisleri çalıştırmak için; Pardus 2008.2 ve öncesi sürümlerde Tasma->Sistem Seçenekleri->Servis Yöneticisi yolu kullanılır. Pardus 2009 ve sonraki sürümlerde ise Sistem Ayarları-> Servis Yönetisici yolu kullanılır. Bilgisayar açıldığında bu servislerin otomatik olarak başlatılmasını istiyorsanız Servis Yöneticisi penceresinde Açılışta Çalıştır kısmını işaretlemeyi unutmayınız.
Bu ayarları yaptıktan sonra artık PHP yazabilirsiniz. Editör olak Kwrite, Kate, Bluefish yada Quanta Plus programlarını kullanabilirsiniz. Konsolda ise vi yada nano editörünü kullanabilirsiniz.
Bunlardan birini kullanarak hazırladığınız PHP sayfanızı /var/www/localhost/htdocs/ dizinine kaydetmelisiniz. Kaydettiğiniz sayfayı çağırmak için de http://localhost/sayfaadi.php adresini kullanmalısınız. Ancak Belirtilen dizine kayıt yapabilmeniz için sistem yöneticisi olmanız yada dizine erişim izni vermeniz gerekmektedir. Bunun yerine daha sorunsuz kayıt imkanı sunan şu yöntemi kullanabilirsiniz. Öncelikle ev dizininizde public_html adında bir dizin oluşturup özelliklerinden herkes için okuma, yazma ve çalıştırma iznini vermelisiniz. Daha sonra sayfalarınızı buraya sorunsuz bir şekilde rahatlıkla kaydedebilirsiniz. Buraya kaydettiğiniz sayfanızı çağırmak için http://localhost/~kullanıcı_adınız/sayfaadı.php adresini kullanmalısınız. Burada kendi kullanıcı adınızı yazdığınızdan emin olunuz.
(ahmet kullanıcısı için örnek: http://localhost/~ahmet/index.php)
İlk PHP Sayfamız
Bu yazıda ilk php sayfamızı hazırlayıp çalıştırmaya çalışacağız.
PHP kodu yazmak için en çok Dreamweaver kullanılmaktadır. Bunun yanında php kodlamak için php editörler de kullanılabilir. Biz okullarda php kodlarına odaklanmak için hızlı, basit ve kullanışlı olan Notepad++ kullanmaktayız. Öncelikle size Notepad++'da açtığınız boş sayfanızı Document root yani web dizinine (C:\Program Files\EasyPHP-5.3.2\www\ dizinine yada sizin belirlediğiniz dizine) uzantısı .php olacak şekilde kaydetmekle başlamanızı öneririz.
PHP kodlarını HTML kodları arasına yazdığımızı daha önce söylemiştik. PHP kodlarını HTML kodlarından ayırmak için
<?php
..........
?>
ayraçları kullanılır ve her PHP komutundan sonra noktalı virgül (;) kullanılır.
Aşağıda index.php olarak kaydettiğimiz sayfamızın kodlarını görüyorsunuz.
Hazırladığımız bu sayfayı çalıştırmak için tarayıcımızın adres çubuğuna http://localhost/index.php yazmak yeterlidir.
Not: Eğer yazılan adreste sayfanın adı belirtilmemişse varsayılan olarak sunucu index.php'yi arar. Varsa çalıştırır. Burada sayfamızın adı index.php olduğundan adres sadece http://localhost/ şeklinde de yazılabilirdi. Aksi halde sayfanın adının da yazılması gerekmektedir.
Çalıştırılan sayfanın ekran görüntüsüne ve kullanıcıya gönderilen kaynak koduna dikkat ediniz.
Bilgisayarımıza kurulu olan Apache, PHP ve MySQL hakkındaki tüm bilgileri ekranda görmek için phpinfo(); fonksiyonu kullanılır. Bu fonksiyon ile versiyon bilgileri, dizin bilgileri ve diğer tüm yapılandırma bilgileri ekranda görüntülenebilir. Aşağıdaki kodu yazıp kaydederek çalıştırdığınızda sonucu sizler de ekranda görebilirsiniz.
Giriş Konularıyla İlgili Test Soruları
1) Aşağıdakilerden hangisi web programlama dilleriden biri değildir?
A) PHP
B) HTML
C) JSP
D) ASP
2) Aşağıdakilerden hangisi PHP için söylenemez?
A) Açık kaynak kodludur
B) Ücretsizdir
C) Sadece Apache web sunucusu üzerinde çalışır
D) Windows ve Linux üzerinde çalışabilir
3) Aşağıda yazılan PHP'nin çalışması ile ilgili açıklamalardan hangisi yanlıştır?
A) Sunucu taraflı çalışır
B) PHP kodlarının karşığı olan HTML kodları istemciye gönderilir
C) PHP sayfalarının uzantısı .php'dir
D) HTML ve PHP kodları aynı sayfada olamaz
4) Aşağıdakilerden hangisi bir değişiklik yapılmadığı varsayılırsa PHP için web root folder olamaz?
A) /var/www/localhost/htdocs
B) /home/kullanıcı/public_html
C) C:\Program Files\EasyPHP5.3.0\www
D) C:\www
5) Aşağıdakilerden hangisi php kodlarını html kodlarından ayırır?
A) <%...%>
B) <&...&>
C) <?PHP...?>
D) <%PHP...%>
6) PHP sayfalarının çalışması için en az hangi yazılımların kurulu olması gerekir?
A) Web sunucu ve PHP yorumlayıcı
B) Sadece PHP yorumlayıcı
C) Sadece web sunucu
D) Veri tabanı ve web sunucu
7) Aşağıdakilerden hangisi apache web sunucusunun konfigürasyon (yapılandırma) dosyasıdır?
A) httpd.conf
B) config.php
C) php.conf
D) http.php
8) Aşağıdakilerden hangisi PHP'nin yapılandırma dosyasıdır?
A) config.php
B) php.conf
C) php.ini
D) http.php
9) Pardus'da yazılan php dosyaları aşağıdaki dizinlerden hangisine kaydedilir?
A) /home
B) /var/localhost
C) /home/kullanıcı/htdocs
D) /var/www/localhost/htdocs
10) Aşağıdakilerden hangisi e-posta sunucusu değildir?
A) Sendmail
B) Qmail
C) MySQL
D) Postfix
11) Aşağıdakilerden hangisi Apache-PHP-MySQL üçlüsünü tek bir paket halinde bilgisayarımıza kurmamızı sağlayan hazır paketlerden değildir?
A) WAMP
B) IIS
C) XAMPP
D) APPSERV
12) Aşağıdakilerden hangisi veritabanı sunucusunu yönetmede kullanılan web arayüzüdür?
A) Joomla
B) PhpNuke
C) phpMyAdmin
D) MySQL
13) Aşağıdaki fonksiyonlardan hangisi kurulu olan Apache, PHP ve MySQL hakkındaki tüm bilgileri listeler?
A) phpinfo();
B) php();
C) info();
D)infophp();
14) Aşağıdaki adreslerden hangisi kayıtlı olan bilgi.php sayfasını tarayıcının adres çubuğundan çağırmak için kullanılır?
A) http://www/bilgi.php
B) http:// localhost
C) http://bilgi.php
D) http://localhost/bilgi.php
15) Aşağıdaki sayfalardan hangisini çağırırken adını yazmak gerekmez?
A) default.php
B) index.php
C) anasayfa.php
D) phpinfo.php
Cevap Anahtarı (Yazı rengi beyazdır. Seçim yapmadığınız sürece göremezsiniz)
>1)B 2)C 3)D 4)D 5)C 6)A 7)A 8)C 9)D 10)C 11)B 12)C 13)A 14)D 15)B<
Kaynak : phpdefteri.com
PHP, dünyada en çok kullanılan web programlama dillerinden biridir. Biraz daha teknik bir açıklama yapmak gerekirse şöyle söylenebilir. PHP, sunucu taraflı çalışan bir betik ve programlama dilidir. Önceleri kişisel web sitesi yapmak amacıyla Rasmus Lerdorf tarafından geliştirilen php, gördüğü büyük ilgiyle çok yaygın kullanılan bir dil haline gelmiştir. Bu nedenle Personel Home Pages ifadesini değiştirerek artık PHP Hypertext Preprocessor rekürsif ifadesini kullanmaya başlamıştır.
Personel Home Pages : Kişisel web sayfası
PHP Hypertext Preprocessor: Üstün Yazı Önişlemcisi olarak çevrilen ve kendi tanımı içerisinde kendini barındıran (recursif) bir ifadedir.
PHP, dünyada en çok kullanılan web sunucusu olan apache üzerinde çalışan ve gösterdiği üstün performans ile web dünyasında çok önemli bir yere sahip olan bir dildir. (Bazı eklentilerle IIS üzerinde de çalışabilmektedir.)
PHP ile ayrılmaz bir bütün olan MySQL veritabanı ile etkileşimli web sayfaları yapmak oldukça kolaydır. PHP ve MySQL o kadar uyumlu çalışır ki ikisi ayrılmaz iki kardeş sayılırlar. Bu, veritabanı olarak sadece MySQL kullanılabileceği anlamına gelmiyor tabiki. PHP ile Access, Microsft SQL Server, PostgreSQL ve Oracle gibi bir çok veritabanına da bağlantı kurulabilir. Ancak en uyumlu çalıştığı veritabanı sunucusu MySQL'dir.
Gelişim sürecine göre günümüzde PHP5 versiyonu mevcuttur. Öncesinde ise PHP4 ve PHP3 versiyonları vardır. PHP5'in bunlardan en önemli farkı nesneye yönelik programlamaya imkan vermesidir.
PHP kodları çoğu zaman HTML kodları arasına gömülü olarak yazıldığından öncesinde HTML kodlarınının bilinmesinde fayda vardır.
PHP ile Neler Yapılabilir?
PHP ile yapılabilecek bazı uygulamalar şunlardır
- Kullanıcı ile etkileşimli çalışan web sayfaları
- Duruma göre kişiye özel içerik görüntüleme
- Web tabanlı veritabanı uygulamları (Forumlar, İçerik Yönetim Sistemleri, Sınav Sayfaları, Takip sistemleri, ...)
- Anketler
- E-Ticaret Siteleri
- Dosya yönetimi
- E-Posta uygulamaları
- Grafik işleme
- Matematiksel hesaplamalar
ve daha sayamadığımız bir çok uygulama PHP ile yapılabilmektedir.
Avantajları
- Çok hızlı bir dildir
- Öğrenilmesi çok kolaydır
- Rahat ve hızlı kodlanabilir. HTML arasına kolaylıkla yerleştirilebilir.
- Hep söylenegelen script dilidir ifadesinin gereği derlenmeden çalışan bir dildir.
- Ücretsiz bir dildir. Rahatlıkla internet üzerinden edinilebilir.
- Büyük bir geliştirici topluluğuna sahip olduğundan kaynak açısından oldukça zengin bir dildir
- Apache'nin yanında farklı web sunucular (IIS, PWS) üzerinde de çalışabilir.
- Windows, UNIX ve LINUX sistemlerde çalışabildiğinden platform bağımsız bir dildir
- Başta MySQL olmak üzere Access, MS SQL, PostgreSQL ve Oracle gibi bir çok veritabanı ile bağlantı kurabilmektedir.
- Kod kütüphaneleri açısından oldukça zengindir.
- Açık kaynak kodlu özgür bir dildir. Kullanıcılar tarafından geliştirilmeye açıktır.
- Açık kaynak olmasının gereği oldukça güvenli ve hızlıdır. Çünkü bir hata kendisini izleyen binlerce gözden kaçamaz.
Bunların yanında söyleyebileceğimiz dezavantajları ise şunlardır.
- Yapılan basit bir hata bir çok sayfada hataya sebep olabilir.
- Ayrıca büyük programlarda cevap süresi gecikebilir
- Güncelleme işlemi web sunucusu ile beraber yapılmalıdır.
- Ancak yukarıda sayılan bu kadar avantajın yanında bunlar makul kabul edilebilir.
PHP'nin Çalışması
PHP, HTML içine gömülerek yazılan ve sunucu taraflı (server side) çalışan bir dildir. Bunun anlamı şudur:
Biz, php kodlarımızı HTML etiketleri arasına yerleştiririz. Kullanıcılar ise tarayıcısının adres çubuğundan, içinde php kodları bulunan bu sayfayı istediği zaman bu istek web sunucuya iletilir. Bu isteği değerlendiren sunucu istenen dosyadaki HTML kodlarını olduğu gibi kullanıcıya gönderir ancak bizim araya eklediğimiz php kodlarına gelince bu kodları php yorumlayıcıya gönderir. Php yorumlayıcı php kodlarını yorumlayıp çalıştırdıktan sonra web sunucuya HTML karşılığını gönderir. Web sunucu php kodlarına karşılık gelen HTML kodlarını aldığında bunları kullanıcıya yollar.
Sonuçta kullanıcılara gönderilen sadece HTML kodlarıdır. Onlar hiçbir zaman bizim sayfaya eklediğimiz php kodlarımızı göremez. PHP kodlarının HTML karşılığını görürler.
Şekil: PHP'nin Çalışması
Hazırladığımız PHP sayfalarını çalıştırmak ve denemek için o dosyayı gerçek sunucuya göndermek ve bunu her değişiklikte tekrar tekrar yapmak çok zor ve gereksiz bir iştir. Bunun yerine hazırladığımız PHP sayfalarını kendi bilgisayarımıza kurduğumuz web sunucu yazılımı ile test eder ve son halini aldıktan sonra gerçek sunucuya göndeririz.
Kendi bilgisayarımıza kuracağımız web sunucu localhost olarak adlandırılır. Bunun kurulumu ve yapılandırılması için "localhost Kurulumu" başlıklı yazımızı okuyunuz.
Localhost Kurulumu
Hazırladığımız PHP sayfalarını gerçek sunucuya yüklemeden önce kendi bilgisayarımızda test etmek için web sunucu yazılımını ve beraberinde gerekli diğer programları bilgisayarımıza kurmamız gerekmektedir. Kendi bilgisayarımıza kuracağımız web sunucu localhost olarak adlandırılır.
Kendi bilgisayarımızda php çalıştırmak için aşağıdaki programları kurmamız gerekmektedir.
- Apache (Web Sunucusu)
- PHP (PHP Dili)
- MySQL (Veritabanı Sunucusu)
- phpMyAdmin (Veritabanı sunucusunu yönetmek için kullanılan web arayüzü)
- Yukarıda yazılı programları ayrı ayrı bilgisayarımıza kurduktan sonra yapılandırmasını yaparak bilgisayarınızda php çalıştırabilirsiniz. Bunun nasıl yapılacağı ile ilgili bir çok kaynak bulabilirsiniz. Ancak bunu yaparken yaşanan bir çok sorun ve zorluk yüzünden tüm bu paketleri ve yapılandırmayı kapsayan hazır kurulum paketleri (programları) daha çok kullanılmaktadır. Bu programlardan birini kurarak bir kaç dakika içinde bilgisayarımızda php yazıp çalıştırabilirsiniz.
PHP çalıştırmak için kullanılan hazır programlardan ençok kullanılanları şunlardır:
- EasyPHP
- Xampp
- AppServ
- Wamp
Bu yazımızın hazırlandığı tarih itibariyle EasyPHP'nin 5.3.2 sürümü mevcut olduğundan bunu bilgisayarımıza indirdik ve kurmaya başladık.
EasyPHP kurulumunu yaptıktan ve çalıştırdıktan sonra görev çubuğunda saatin olduğu kısma simgesi geliyor. Bu simgeye çift tıkladığımızda karşımıza gelen pencereden easyPHP'yi yönetebiliyoruz. Bazı durumlarda easyPHP'yi çalıştırdığımız halde apache yada mySQL başlatılamadığından elle bu servisleri başlatmamız gerekebilir. Bunu için de yine bu pencereyi kullanıyoruz.
Kurulumu yaptıktan sonra hazırladığımız php sayfalarını C:\Program Files\EasyPHP-5.3.2\www\ dizinine kaydetmeliyiz. Kaydettiğimiz sayfayı test etmek için kullandığımız tarayıcıyı açıp adres çubuğuna;
http://localhost/sayfaadi.php yazmak yeterlidir.
Eğer daha önceden asp yada aspx için IIS'yi kurduysanız yani localhost yüklediyseniz bizim php için yüklediğimiz localhost ile çakışmaktadır. Bunun sebebi her iki sunucu da web sayfalarını istemcilere 80 nolu porttan göndermek istemeleridir. Bu durumda sunuculardan birinin port numarasını 81 olarak değiştirmemiz gerekecektir. Sonradan kurduğumuz apache web sunucunun portunu 81 olarak değiştirmek için aşağıdaki pencerede görünen seçeneği kullanmalısınız.
Bu seçeneğe tıkladığımızda karşımıza gelen metin dosyasında 56.satırdaki (farklı versiyonlarda satır numarası değişebilir) Listen 127.0.0.1:80 satırını Listen 127.0.0.1:81 olarak değiştirip kaydetmek yeterlidir.
Bu değişiklikten sonra kaydettiğimiz sayfaları çağırırken tarayıcımızın adres çubuğuna;
http://localhost:81/sayfaadi.php şeklinde bir adres yazmamız gerekmektedir.
Yaşanan Bazı Sorunlar
EasyPHP'yi Windows Vista'da yada Windows 7'de kurup çalıştırdığımızda MySQL ile ilgili bir hata mesajı almakta ve MySQL veritabanı sunucusunu çalıştırılamamaktadır.
Bunun sebebi Windows Vista'da ve Windows 7'deki güvenlik önlemleridir. Bunu aşmak için EasyPHP'yi, sağ tıklayarak yönetici olarak çalıştırmak yeterlidir.
Diğer bir sorun da sayfaları C:\Program Files\EasyPHP-5.3.2\www\ dizinine kaydederken karşılaştığımız kaydetme izniniz yoktur sorunudur.
Bu sorunu aşmak için www dizininine sağ tıklayıp Özellikler->Güvenlik->Düzenle->Users için Tam Denetim iznini ver demek yeterlidir.
Diğer bir çözüm olarak farklı bir dizini örneğin masaüstünde oluşturacağınız www dizinini web dizini olarak kullanmaktır. Bunun için tarayıcınızın adres çubuğuna http://localhost/home yazıp gelen sayfada LOCAL WEB başlığı altındaki Document root dizininin yolunu (C:\Program Files\EasyPHP-5.3.2\www\) change diyerek masaüstünde oluşturduğunuz www dizininin yolu (C:\Users\kullanıcı-adınız\Desktop\www\) ile değiştirip kaydetmek yeterlidir. Bunu yaptıktan sonra artık sayfalarınızı masaüstündeki www dizinine sorun
yaşamadan kaydedebilirsiniz.
Not: Yolun sonundaki \ işaretini koyduğunuzdan emin olunuz.
Pardus'da PHP Çalıştırmak
PHP, linux dünyasının web dili olarak bilinmekte, buna karşılık windows dünyasının web dili ise asp ve aspx olarak bilinmektedir. Durum böyleyken PHP'yi bir linux üzerinde çalıştırmak isteyenler için bu yazımızı hazırladık. Ancak bu yazıda bu işin Pardus Linux üzerinde nasıl yapıldığını anlatacağız. Zira bizim geliştirdiğimiz linux dağıtımı Pardus'dur.
Pardus'da php çalıştırmak için öncelikle birkaç paket kurmamız gerekmektedir. Bunlar şunlardır:
- apache -> Web Sunucusu
- mod_php -> PHP Dili
- mysql-server -> Veritabanı sunucusu
- phpmyadmin -> MySQL veritabanı sunucusunu görsel olarak yönetmek için kullanılan web arayüzü
- postfix -> e-Posta Sunucusu
Bu paketleri paket yönetisicinden yada konsoldan kurabilirsiniz.
Paketlerin kurulumu bittikten sonra aşağıdaki servislerin çalıştırılması gerekmektedir.
- Apache Web Sunucusu
- MySQL Veritabanı Sunucusu
- Postfix E-Posta Sunucusu
Bu servisleri çalıştırmak için; Pardus 2008.2 ve öncesi sürümlerde Tasma->Sistem Seçenekleri->Servis Yöneticisi yolu kullanılır. Pardus 2009 ve sonraki sürümlerde ise Sistem Ayarları-> Servis Yönetisici yolu kullanılır. Bilgisayar açıldığında bu servislerin otomatik olarak başlatılmasını istiyorsanız Servis Yöneticisi penceresinde Açılışta Çalıştır kısmını işaretlemeyi unutmayınız.
Bu ayarları yaptıktan sonra artık PHP yazabilirsiniz. Editör olak Kwrite, Kate, Bluefish yada Quanta Plus programlarını kullanabilirsiniz. Konsolda ise vi yada nano editörünü kullanabilirsiniz.
Bunlardan birini kullanarak hazırladığınız PHP sayfanızı /var/www/localhost/htdocs/ dizinine kaydetmelisiniz. Kaydettiğiniz sayfayı çağırmak için de http://localhost/sayfaadi.php adresini kullanmalısınız. Ancak Belirtilen dizine kayıt yapabilmeniz için sistem yöneticisi olmanız yada dizine erişim izni vermeniz gerekmektedir. Bunun yerine daha sorunsuz kayıt imkanı sunan şu yöntemi kullanabilirsiniz. Öncelikle ev dizininizde public_html adında bir dizin oluşturup özelliklerinden herkes için okuma, yazma ve çalıştırma iznini vermelisiniz. Daha sonra sayfalarınızı buraya sorunsuz bir şekilde rahatlıkla kaydedebilirsiniz. Buraya kaydettiğiniz sayfanızı çağırmak için http://localhost/~kullanıcı_adınız/sayfaadı.php adresini kullanmalısınız. Burada kendi kullanıcı adınızı yazdığınızdan emin olunuz.
(ahmet kullanıcısı için örnek: http://localhost/~ahmet/index.php)
İlk PHP Sayfamız
Bu yazıda ilk php sayfamızı hazırlayıp çalıştırmaya çalışacağız.
PHP kodu yazmak için en çok Dreamweaver kullanılmaktadır. Bunun yanında php kodlamak için php editörler de kullanılabilir. Biz okullarda php kodlarına odaklanmak için hızlı, basit ve kullanışlı olan Notepad++ kullanmaktayız. Öncelikle size Notepad++'da açtığınız boş sayfanızı Document root yani web dizinine (C:\Program Files\EasyPHP-5.3.2\www\ dizinine yada sizin belirlediğiniz dizine) uzantısı .php olacak şekilde kaydetmekle başlamanızı öneririz.
PHP kodlarını HTML kodları arasına yazdığımızı daha önce söylemiştik. PHP kodlarını HTML kodlarından ayırmak için
<?php
..........
?>
ayraçları kullanılır ve her PHP komutundan sonra noktalı virgül (;) kullanılır.
Aşağıda index.php olarak kaydettiğimiz sayfamızın kodlarını görüyorsunuz.
Kod:
<html>
<body>
<?php
echo "Merhaba Dünya!";
?>
</body>
</html>
Hazırladığımız bu sayfayı çalıştırmak için tarayıcımızın adres çubuğuna http://localhost/index.php yazmak yeterlidir.
Not: Eğer yazılan adreste sayfanın adı belirtilmemişse varsayılan olarak sunucu index.php'yi arar. Varsa çalıştırır. Burada sayfamızın adı index.php olduğundan adres sadece http://localhost/ şeklinde de yazılabilirdi. Aksi halde sayfanın adının da yazılması gerekmektedir.
Çalıştırılan sayfanın ekran görüntüsüne ve kullanıcıya gönderilen kaynak koduna dikkat ediniz.
Bilgisayarımıza kurulu olan Apache, PHP ve MySQL hakkındaki tüm bilgileri ekranda görmek için phpinfo(); fonksiyonu kullanılır. Bu fonksiyon ile versiyon bilgileri, dizin bilgileri ve diğer tüm yapılandırma bilgileri ekranda görüntülenebilir. Aşağıdaki kodu yazıp kaydederek çalıştırdığınızda sonucu sizler de ekranda görebilirsiniz.
Kod:
<html>
<body>
<?php
phpinfo();
?>
</body>
</html>
Giriş Konularıyla İlgili Test Soruları
1) Aşağıdakilerden hangisi web programlama dilleriden biri değildir?
A) PHP
B) HTML
C) JSP
D) ASP
2) Aşağıdakilerden hangisi PHP için söylenemez?
A) Açık kaynak kodludur
B) Ücretsizdir
C) Sadece Apache web sunucusu üzerinde çalışır
D) Windows ve Linux üzerinde çalışabilir
3) Aşağıda yazılan PHP'nin çalışması ile ilgili açıklamalardan hangisi yanlıştır?
A) Sunucu taraflı çalışır
B) PHP kodlarının karşığı olan HTML kodları istemciye gönderilir
C) PHP sayfalarının uzantısı .php'dir
D) HTML ve PHP kodları aynı sayfada olamaz
4) Aşağıdakilerden hangisi bir değişiklik yapılmadığı varsayılırsa PHP için web root folder olamaz?
A) /var/www/localhost/htdocs
B) /home/kullanıcı/public_html
C) C:\Program Files\EasyPHP5.3.0\www
D) C:\www
5) Aşağıdakilerden hangisi php kodlarını html kodlarından ayırır?
A) <%...%>
B) <&...&>
C) <?PHP...?>
D) <%PHP...%>
6) PHP sayfalarının çalışması için en az hangi yazılımların kurulu olması gerekir?
A) Web sunucu ve PHP yorumlayıcı
B) Sadece PHP yorumlayıcı
C) Sadece web sunucu
D) Veri tabanı ve web sunucu
7) Aşağıdakilerden hangisi apache web sunucusunun konfigürasyon (yapılandırma) dosyasıdır?
A) httpd.conf
B) config.php
C) php.conf
D) http.php
8) Aşağıdakilerden hangisi PHP'nin yapılandırma dosyasıdır?
A) config.php
B) php.conf
C) php.ini
D) http.php
9) Pardus'da yazılan php dosyaları aşağıdaki dizinlerden hangisine kaydedilir?
A) /home
B) /var/localhost
C) /home/kullanıcı/htdocs
D) /var/www/localhost/htdocs
10) Aşağıdakilerden hangisi e-posta sunucusu değildir?
A) Sendmail
B) Qmail
C) MySQL
D) Postfix
11) Aşağıdakilerden hangisi Apache-PHP-MySQL üçlüsünü tek bir paket halinde bilgisayarımıza kurmamızı sağlayan hazır paketlerden değildir?
A) WAMP
B) IIS
C) XAMPP
D) APPSERV
12) Aşağıdakilerden hangisi veritabanı sunucusunu yönetmede kullanılan web arayüzüdür?
A) Joomla
B) PhpNuke
C) phpMyAdmin
D) MySQL
13) Aşağıdaki fonksiyonlardan hangisi kurulu olan Apache, PHP ve MySQL hakkındaki tüm bilgileri listeler?
A) phpinfo();
B) php();
C) info();
D)infophp();
14) Aşağıdaki adreslerden hangisi kayıtlı olan bilgi.php sayfasını tarayıcının adres çubuğundan çağırmak için kullanılır?
A) http://www/bilgi.php
B) http:// localhost
C) http://bilgi.php
D) http://localhost/bilgi.php
15) Aşağıdaki sayfalardan hangisini çağırırken adını yazmak gerekmez?
A) default.php
B) index.php
C) anasayfa.php
D) phpinfo.php
Cevap Anahtarı (Yazı rengi beyazdır. Seçim yapmadığınız sürece göremezsiniz)
>1)B 2)C 3)D 4)D 5)C 6)A 7)A 8)C 9)D 10)C 11)B 12)C 13)A 14)D 15)B<
Kaynak : phpdefteri.com