PHP Kurulumu ve Geliştirme Ortamı Hazırlama
PHP ile kod yazmaya başlamadan önce gerekli geliştirme ortamını hazırlıyoruz. Windows, Linux ve macOS tarafında PHP kurulumu, editör seçimi, yerel sunucu mantığı ve ilk test dosyasını sade bir dille ele alıyoruz.
PHP Kurulumu ve Geliştirme Ortamı Hazırlama
Bir önceki yazıda PHP’nin ne olduğunu, ne işe yaradığını ve web geliştirme tarafında hangi problemi çözdüğünü konuştuk.
Şimdi artık teoriden biraz daha pratiğe geçiyoruz.
PHP ile kod yazabilmek için bilgisayarında uygun bir geliştirme ortamı olması gerekir. Bu ortamı doğru kurmazsan, daha ilk dosyada “çalışmıyor”, “sayfa açılmıyor”, “PHP kodu ekrana düz yazı olarak basılıyor” gibi klasik problemlerle uğraşırsın.
Bu yazıda amacımız sadece PHP’yi kurmak değil. Aynı zamanda PHP’nin nasıl çalıştığını, localhost mantığını, hangi araçlara ihtiyacımız olduğunu ve ilk PHP dosyamızı nasıl çalıştıracağımızı net şekilde anlamak.
PHP Geliştirme Ortamı Nedir?
PHP geliştirme ortamı, PHP kodlarını yazıp çalıştırabileceğin yerel çalışma düzenidir.
Normalde bir web sitesi internette bir sunucu üzerinde çalışır. Ama geliştirme yaparken her değişikliği canlı sunucuya atmak doğru değildir. Önce kendi bilgisayarında çalışırsın, test edersin, hataları çözersin, sonra projeyi gerçek sunucuya taşırsın.
Bu yüzden bilgisayarında küçük bir yerel sunucu ortamı kurarsın.
Bu ortama genellikle local development environment denir.
Basit şekilde söyleyelim:
Kodları kendi bilgisayarında yazarsın.
PHP kendi bilgisayarında çalışır.
Tarayıcıdan localhost üzerinden projeyi açarsın.
Veritabanı gerekiyorsa yine yerel veritabanını kullanırsın.
Yani geliştirme yaparken internet ortamına bağımlı kalmadan kendi bilgisayarında PHP projeleri çalıştırabilirsin.
PHP Çalıştırmak İçin Neler Gerekir?
PHP ile temel seviyede çalışmak için birkaç şeye ihtiyacımız var:
PHP yorumlayıcısı
Web sunucusu
Kod editörü
Tarayıcı
Terminal veya komut satırı
Gerektiğinde veritabanı
Bunları tek tek açalım.
PHP yorumlayıcısı, yazdığın PHP kodlarını çalıştıran asıl bileşendir.
Web sunucusu, tarayıcıdan gelen istekleri karşılar. Apache veya Nginx yaygın kullanılan web sunucularıdır.
Kod editörü, PHP dosyalarını yazdığın programdır. Visual Studio Code bu iş için gayet yeterlidir.
Tarayıcı, yazdığın sayfaları görüntülemek için kullanılır.
Terminal, PHP komutlarını çalıştırmak ve ileride Composer gibi araçları kullanmak için gerekir.
Veritabanı ise kullanıcılar, yazılar, ürünler veya ayarlar gibi verileri saklamak için kullanılır. PHP tarafında genellikle MySQL veya MariaDB ile başlanır.
Başlangıç İçin Hangi Kurulum Yöntemi Tercih Edilmeli?
PHP kurmak için birden fazla yol vardır.
Yeni başlayan biri için en kolay yöntem, hazır paketlerden birini kullanmaktır.
Örneğin:
Laragon
XAMPP
MAMP
WampServer
Bu araçlar PHP, Apache/Nginx, MySQL/MariaDB gibi ihtiyaçları tek paket içinde getirir. Böylece tek tek servis kurup ayar yapmak zorunda kalmazsın.
Ama burada küçük bir ayrım yapmak lazım.
Eğer Windows kullanıyorsan, başlangıç için Laragon oldukça pratik bir seçimdir. Hafiftir, hızlıdır ve proje bazlı çalışmayı kolaylaştırır.
XAMPP de yaygın kullanılır ama uzun vadede Laragon daha temiz bir geliştirme deneyimi sunar.
Linux kullanıyorsan PHP’yi doğrudan paket yöneticisiyle kurmak daha mantıklıdır.
Docker kullanıyorsan zaten her şeyi container üzerinden izole şekilde yönetebilirsin. Ama PHP’ye yeni başlayan biri için Docker ile başlamak gereksiz karmaşa oluşturabilir.
Kısa karar şu olabilir:
Windows için: Laragon veya XAMPP
macOS için: MAMP veya Homebrew ile PHP
Linux için: Paket yöneticisi ile PHP, Apache/Nginx ve MySQL/MariaDB
Profesyonel ve izole ortam için: Docker
Bu yazıda temel mantığı öğrenmek için daha sade yöntemlerle ilerleyeceğiz.
Windows Üzerinde PHP Kurulumu
Windows tarafında en pratik seçeneklerden biri Laragon kullanmaktır.
Laragon kurduğunda genellikle şu bileşenleri hazır şekilde yönetebilirsin:
PHP
Apache veya Nginx
MySQL veya MariaDB
Terminal
Proje klasörleri
Local domain desteği
Kurulum mantığı oldukça basittir.
Laragon’u indirip kurarsın.
Programı açarsın.
Start All diyerek servisleri başlatırsın.
Proje klasörünü oluşturursun.
Tarayıcıdan localhost üzerinden test edersin.
Örneğin Laragon kuruluysa projelerini genellikle şu klasör altında tutarsın:
C:\laragon\www
Burada php-egitimi adında bir klasör oluşturabilirsin.
Klasör yolu şöyle olur:
C:\laragon\www\php-egitimi
Bu klasörün içine index.php dosyası oluştururuz.
İçine şunu yazarız:
<?php
echo "PHP geliştirme ortamı çalışıyor.";
?>
Sonra tarayıcıdan şu adrese gireriz:
Ekranda şu yazıyı görüyorsan PHP çalışıyor demektir:
PHP geliştirme ortamı çalışıyor.
Burada dikkat etmen gereken şey şu:
Dosyayı doğrudan çift tıklayıp tarayıcıda açarsan PHP çalışmaz. Çünkü PHP’nin çalışması için dosyanın web sunucusu üzerinden çağrılması gerekir.
Yanlış kullanım şuna benzer:
file:///C:/laragon/www/php-egitimi/index.php
Doğru kullanım şudur:
Bu ayrımı baştan anlamak çok önemli.
XAMPP ile PHP Kurulumu
XAMPP de PHP’ye başlamak için sık kullanılan bir alternatiftir.
XAMPP kurduğunda Apache, PHP ve MySQL gibi servisler hazır gelir.
XAMPP’te proje klasörleri genellikle şu dizinde tutulur:
C:\xampp\htdocs
Örneğin php-egitimi adında bir klasör oluşturursan yol şöyle olur:
C:\xampp\htdocs\php-egitimi
Bu klasör içine index.php dosyası oluşturup şunu yazabilirsin:
<?php
echo "XAMPP ile PHP çalışıyor.";
?>
Sonra tarayıcıdan şu adrese girersin:
Eğer Apache çalışıyorsa sayfada çıktıyı görürsün.
XAMPP kullanırken en sık yaşanan sorunlardan biri Apache’nin başlamamasıdır. Bunun sebebi genellikle 80 portunun başka bir program tarafından kullanılmasıdır.
Örneğin Skype, IIS, başka bir web sunucusu veya farklı bir servis 80 portunu kullanıyor olabilir.
Bu durumda ya portu boşaltman gerekir ya da Apache ayarlarından port değiştirmek gerekir.
Linux Üzerinde PHP Kurulumu
Linux tarafında PHP kurulumu genellikle terminal üzerinden yapılır.
Ubuntu tabanlı bir sistem kullanıyorsan temel PHP kurulumu için şu komut kullanılabilir:
sudo apt update
sudo apt install php
Kurulumdan sonra PHP sürümünü kontrol etmek için:
php -v
Bu komut PHP’nin kurulu olup olmadığını gösterir.
Eğer Apache ile birlikte çalışmak istiyorsan şu paketlere de ihtiyacın olabilir:
sudo apt install apache2 libapache2-mod-php
Apache servisini başlatmak için:
sudo systemctl start apache2
Apache’nin otomatik başlamasını istiyorsan:
sudo systemctl enable apache2
Varsayılan web dizini genellikle şudur:
/var/www/html
Buraya bir index.php dosyası oluşturup test edebilirsin:
<?php
echo "Linux üzerinde PHP çalışıyor.";
?>
Sonra tarayıcıdan şu adrese girersin:
Eğer sayfa çalışıyorsa PHP ve Apache temel olarak hazırdır.
Linux tarafında dosya izinleri önemli olabilir. /var/www/html içine dosya yazarken yetki problemi yaşarsan sudo kullanman gerekebilir. Ama geliştirme ortamında sürekli sudo ile dosya düzenlemek iyi bir alışkanlık değildir.
Daha temiz bir yapı için proje klasörlerini kullanıcı dizininde tutup Apache veya Nginx virtual host ayarı yapmak daha mantıklıdır. Ancak başlangıç aşamasında bu detaylara girmek şart değil.
macOS Üzerinde PHP Kurulumu
macOS tarafında PHP kurmak için birkaç seçenek vardır.
Başlangıç için MAMP kullanılabilir. MAMP, XAMPP mantığına benzer şekilde PHP, web sunucusu ve veritabanını hazır getirir.
Daha teknik bir kurulum istersen Homebrew üzerinden PHP kurulabilir.
Örneğin:
brew install php
Kurulumdan sonra sürüm kontrolü:
php -v
PHP’nin kendi dahili sunucusunu kullanarak bir klasörde hızlı test yapmak da mümkündür.
Bir proje klasörüne girip şu komutu çalıştırabilirsin:
php -S localhost:8000
Sonra tarayıcıdan şu adrese girersin:
Bu yöntem küçük testler için çok pratiktir.
PHP’nin Dahili Sunucusu
PHP’nin kendi içinde basit bir geliştirme sunucusu vardır.
Bu sunucu production yani canlı ortam için kullanılmaz. Ama lokal geliştirme ve hızlı deneme için iş görür.
Örneğin masaüstünde php-egitimi adında bir klasör oluşturduğunu düşünelim.
Bu klasörün içine index.php dosyası oluştur:
<?php
echo "PHP dahili sunucusu çalışıyor.";
?>
Sonra terminalde bu klasöre gir:
cd php-egitimi
Ardından şu komutu çalıştır:
php -S localhost:8000
Tarayıcıdan şu adrese gir:
Ekranda yazıyı görüyorsan PHP dosyan başarıyla çalışmıştır.
Bu yöntem özellikle temel PHP öğrenirken gayet kullanışlıdır. Çünkü Apache veya Nginx ayarlarıyla uğraşmadan hızlıca PHP kodu çalıştırabilirsin.
Ama şunu unutma:
PHP dahili sunucusu gerçek sunucu yerine geçmez. Sadece geliştirme ve test içindir.
Kod Editörü Seçimi
PHP yazmak için güçlü bir IDE kullanmak zorunda değilsin. Başlangıçta Visual Studio Code gayet yeterlidir.
VS Code üzerinde PHP yazarken şu eklentiler işini kolaylaştırabilir:
PHP Intelephense
PHP Namespace Resolver
Prettier
EditorConfig
GitLens
Başlangıç için en önemlisi PHP Intelephense eklentisidir. Kod tamamlama, hata gösterimi ve sınıf tanıma gibi konularda yardımcı olur.
Ama editör konusunda şunu net söylemek lazım:
Editör seni iyi yazılımcı yapmaz.
İyi editör işini hızlandırır ama kodun mantığını sen kurarsın. Bu yüzden başlangıçta eklenti kurmaya çok fazla takılmak yerine PHP’nin temel çalışma mantığını anlamaya odaklanmak daha doğru olur.
İlk PHP Dosyamızı Oluşturalım
Şimdi çok basit bir PHP dosyası oluşturalım.
Proje klasörünün içine index.php adında bir dosya aç.
İçine şunu yaz:
<?php
echo "Merhaba PHP";
?>
Bu dosyayı web sunucusu üzerinden çalıştırdığında ekranda şu çıktı görünür:
Merhaba PHP
Burada <?php etiketi PHP kodunun başladığını belirtir.
echo ise ekrana çıktı vermek için kullanılır.
PHP dosyalarının uzantısı genellikle .php olur.
Örneğin:
index.php
about.php
contact.php
login.php
register.php
Eğer dosya uzantısı .html olursa, sunucu bu dosyayı PHP olarak çalıştırmayabilir. Bu yüzden PHP kodu yazacağımız dosyalarda .php uzantısını kullanmamız gerekir.
PHP Kodları Neden Tarayıcıda Görünür?
Yeni başlayanların sık yaşadığı bir problem şudur:
PHP kodunu yazarsın ama tarayıcıda sonuç yerine kodun kendisi görünür.
Örneğin tarayıcıda şunu görürsün:
<?php echo "Merhaba PHP"; ?>
Bu genellikle şu anlama gelir:
Dosya PHP sunucusu üzerinden çalıştırılmıyor.
Yani dosyayı doğrudan açmış olabilirsin veya web sunucusu PHP’yi yorumlamıyor olabilir.
Doğru çalışma için dosyayı şu mantıkla açmalısın:
Yanlış olan:
file:///C:/klasor/index.php
PHP’nin çalışması için sunucunun PHP yorumlayıcısına bu dosyayı işletmesi gerekir.
Localhost Nedir?
Localhost, kendi bilgisayarını ifade eder.
Tarayıcıda şu adresi yazdığında:
Aslında kendi bilgisayarındaki yerel sunucuya istek atmış olursun.
Yani localhost internetteki başka bir site değildir. Kendi bilgisayarında çalışan web sunucusudur.
PHP öğrenirken localhost kavramını sık sık kullanacağız.
Örneğin:
Buradaki 8000 gibi değerler port numarasıdır.
Port, aynı bilgisayarda farklı servislerin ayrılmasını sağlar.
Örneğin:
Apache 80 portunda çalışabilir.
PHP dahili sunucusu 8000 portunda çalışabilir.
MySQL 3306 portunda çalışabilir.
Başlangıç seviyesinde port detaylarına çok gömülmene gerek yok. Ama bir servis çalışmadığında port çakışması ihtimalini bilmen gerekir.
Terminalden PHP Kontrolü
PHP’nin bilgisayarında kurulu olup olmadığını anlamak için terminal veya komut satırında şu komutu çalıştırabilirsin:
php -v
Eğer PHP kuruluysa sürüm bilgisi görünür.
Örneğin çıktı buna benzer olabilir:
PHP 8.x.x
Eğer “php komutu bulunamadı” gibi bir hata alırsan PHP ya kurulu değildir ya da PATH ayarlarına eklenmemiştir.
Windows’ta bu durum özellikle manuel PHP kurulumu yaptıysan sık yaşanır. Laragon veya XAMPP kullanıyorsan kendi terminalinden php -v komutunu denemek daha sağlıklı olabilir.
Proje Klasörü Nasıl Düzenlenmeli?
Başlangıçta her şeyi tek klasöre koymak sorun gibi görünmez. Ama zamanla dosya sayısı artar.
Basit bir PHP projesi için şöyle bir yapı kullanılabilir:
php-egitimi/
index.php
about.php
contact.php
assets/
css/
js/
images/
includes/
header.php
footer.php
Bu yapı ilerleyen derslerde daha anlamlı hale gelecek.
Şimdilik bilmen gereken şey şu:
PHP projelerinde dosya düzeni önemlidir.
Her şeyi tek dosyaya doldurmak başlangıçta kolay gibi görünür ama proje büyüdükçe seni yorar.
Örneğin header ve footer gibi tekrar eden parçaları ayrı dosyalara almak, ileride include ve require konusuna geçerken işimizi kolaylaştıracak.
Geliştirme Ortamında Dikkat Edilmesi Gerekenler
PHP ortamını kurduktan sonra bazı temel alışkanlıkları baştan doğru oturtmak gerekir.
Birincisi, dosya isimlerinde Türkçe karakter ve boşluk kullanma.
Yanlış örnek:
iletişim sayfası.php
Daha doğru örnek:
contact.php
iletisim.php
İkincisi, klasör isimlerini sade tut.
Yanlış örnek:
Benim PHP Eğitim Dosyalarım
Daha doğru örnek:
php-egitimi
Üçüncüsü, hata mesajlarını kapatmaya çalışma.
Başlangıçta hata mesajları can sıkıcı görünür ama aslında sana neyin yanlış olduğunu söyler. Hata mesajını okumadan rastgele çözüm aramak kötü bir alışkanlıktır.
Dördüncüsü, kodları düzenli yaz.
Şu kod çalışır:
<?php echo "Merhaba"; ?>
Ama daha okunabilir olan şudur:
<?php
echo "Merhaba";
?>
Kodun okunabilir olması, sadece başkaları için değil, birkaç gün sonra aynı koda dönecek olan senin için de önemlidir.
Sık Yapılan Kurulum Hataları
PHP öğrenmeye başlarken en sık yapılan hatalardan bazıları şunlardır:
Dosyayı localhost yerine doğrudan çift tıklayarak açmak.
Apache veya PHP sunucusunu başlatmayı unutmak.
Dosya uzantısını .php yerine .html yapmak.
index.php dosyasını yanlış klasöre koymak.
Port çakışması yüzünden Apache’nin başlamamasını fark etmemek.
PHP kurulu olmadığı halde terminalden php komutu çalıştırmaya çalışmak.
Tarayıcı önbelleği yüzünden eski çıktıyı gördüğünü sanmak.
Hata mesajını okumadan kodu sürekli değiştirmek.
Bu hatalar normaldir. Önemli olan her hatada mantığı anlamaya çalışmaktır.
Bir şey çalışmadığında kendine şu soruları sor:
Sunucu çalışıyor mu?
Dosya doğru klasörde mi?
Dosya uzantısı .php mi?
Adresi localhost üzerinden mi açıyorum?
Terminalde php -v çalışıyor mu?
Hata mesajı tam olarak ne söylüyor?
Bu soruların cevabını ararsan çoğu temel problemi çözebilirsin.
PHP İçin Veritabanı Şart mı?
PHP öğrenmeye başlamak için veritabanı şart değildir.
İlk konularda değişkenler, veri tipleri, koşullar, döngüler, diziler ve fonksiyonlar gibi temel konulara odaklanacağız.
Ama gerçek web uygulamaları için veritabanı kaçınılmazdır.
Örneğin blog sistemi yazacaksan yazıları bir yerde tutman gerekir. Kullanıcı sistemi yazacaksan üyeleri saklaman gerekir. Admin panel yazacaksan ayarlar, roller ve içerikler veritabanında tutulur.
Bu yüzden ilerleyen serilerde PHP ile MySQL veritabanı işlemlerini ayrıca ele alacağız.
Şimdilik sadece PHP dosyalarını çalıştırabilen temiz bir ortam kurmak yeterli.
Docker Kullanmalı mıyız?
Docker modern geliştirme ortamlarında çok faydalıdır. Projeyi izole eder, farklı PHP sürümleriyle çalışmayı kolaylaştırır, ekip içinde aynı ortamı kullanmayı sağlar.
Ama PHP’ye yeni başlıyorsan Docker ilk adım olmak zorunda değildir.
Çünkü Docker öğrenirken aynı anda container, volume, network, image, compose dosyası gibi ek kavramlarla uğraşman gerekir. Bu da PHP’nin temel mantığını öğrenmeni zorlaştırabilir.
Bu yüzden başlangıç için Laragon, XAMPP, MAMP veya PHP dahili sunucusu daha rahat olabilir.
Docker’ı tamamen gereksiz görmüyoruz. Sadece doğru zaman meselesi.
Önce PHP’nin temelini öğren.
Sonra veritabanı ve proje yapısını oturt.
Daha sonra Docker ile daha profesyonel geliştirme ortamına geç.
Bu daha sağlıklı bir ilerleme olur.
Basit Test: PHP Gerçekten Çalışıyor mu?
Kurulumun doğru olup olmadığını anlamak için küçük bir test yapalım.
index.php dosyasına şunu yaz:
<?php
phpinfo();
?>
Bu fonksiyon, PHP kurulumunla ilgili detaylı bilgi sayfası gösterir.
Tarayıcıdan dosyayı çalıştırdığında PHP sürümü, yüklü eklentiler, ayarlar ve sunucu bilgileri görünür.
Ama burada dikkat et:
phpinfo() çıktısını canlı sunucuda açık bırakmak doğru değildir. Çünkü sistem hakkında çok fazla teknik bilgi verir. Lokal geliştirme ortamında test için kullanılabilir ama gerçek projede herkesin erişebileceği şekilde bırakılmamalıdır.
İkinci bir test olarak şunu yazabilirsin:
<?php
$name = "PHP";
echo "Merhaba " . $name;
?>
Çıktı şöyle olur:
Merhaba PHP
Eğer bu çıktı geliyorsa PHP temel olarak çalışıyor demektir.
Bu Derste Ne Öğrendik?
Bu yazıda PHP ile çalışmaya başlamadan önce gerekli geliştirme ortamını hazırlamayı ele aldık.
Özetle:
PHP kodları sunucu tarafında çalışır.
PHP dosyalarını doğrudan çift tıklayarak değil, localhost üzerinden çalıştırmak gerekir.
Windows için Laragon veya XAMPP kullanılabilir.
Linux tarafında PHP paket yöneticisiyle kurulabilir.
macOS tarafında MAMP veya Homebrew tercih edilebilir.
PHP’nin dahili sunucusu küçük testler için kullanılabilir.
VS Code başlangıç için yeterli bir editördür.
php -v komutu ile PHP kurulumu kontrol edilebilir.
index.php dosyası ile ilk PHP çıktısı test edilebilir.
Hata mesajlarını okumak, rastgele çözüm aramaktan daha değerlidir.
Sonuç
PHP öğrenmek için önce sağlam ve basit bir geliştirme ortamına ihtiyacımız var.
Bu ortamı kurmadan direkt kod yazmaya çalışmak, daha yolun başında gereksiz hatalarla uğraşmana neden olur. O yüzden bu adım küçük görünse de önemlidir.
Kurulum tarafında mükemmeliyetçi olmaya gerek yok. Başlangıçta amacımız en profesyonel ortamı kurmak değil, PHP kodlarını düzgün şekilde çalıştırabileceğimiz sade bir düzen oluşturmaktır.
Ortam hazırsa artık PHP dosya yapısını, PHP etiketlerini ve ilk gerçek kodlarımızı daha detaylı inceleyebiliriz.
Bir sonraki yazıda “PHP Dosya Yapısı ve İlk Kod” konusuna geçeceğiz.
Yorumlar ve yanıtlar
Post içeriğinden ayrı, sakin bir yorum akışı.