Modern web uygulamaları geliştirmek için güvenilir bir yerel ortam kurmak, her geliştiricinin temel ihtiyaçlarından biridir. Ubuntu 20.04 üzerinde PHP 7.4’ü adım adım nasıl kuracağınızı ve yerel bir geliştirme ortamı oluşturacağınızı öğrenin. Güvenli ve verimli bir PHP deneyimi için tüm detaylar bu makalede.
Web Geliştirme Dünyasında PHP 7.4 Neden Hala Önemli ve Ubuntu 20.04 Neden İdeal Bir Seçim?
Web geliştirme, sürekli değişen ve gelişen bir alandır. Bu dinamik ortamda, güçlü ve stabil araçlara sahip olmak, projelerinizin başarısı için kritik öneme sahiptir. PHP, özellikle sunucu taraflı programlama dillerinin başında gelmekle birlikte, milyarlarca web sitesine güç vermektedir. PHP 7.4 sürümü, performans iyileştirmeleri, yeni özellikler ve güvenlik güncellemeleriyle geliştiricilere daha hızlı ve daha güvenli uygulamalar oluşturma imkanı sunmuştur. Örneğin, PHP 7.4 ile gelen “arrow functions” ve “typed properties” gibi özellikler, kod yazımını basitleştirerek geliştirme sürecini hızlandırmıştır. Bu sürüm, özellikle eski ancak hala aktif projeleri olan veya belirli bir stabilite arayan ekipler için cazibesini korumaktadır.
Diğer yandan, Ubuntu 20.04 LTS (Long Term Support) sürümü, uzun vadeli destek ve kararlılık sunan popüler bir Linux dağıtımıdır. LTS sürümleri, genellikle beş yıl boyunca güvenlik güncellemeleri ve hata düzeltmeleri alır, bu da onu hem sunucu ortamları hem de yerel geliştirme makineleri için mükemmel bir seçim haline getirir. Ubuntu’nun geniş topluluğu ve zengin paket depoları sayesinde, PHP ve diğer bağımlılıkları kurmak ve yönetmek oldukça kolaydır. Ayrıca, geliştiricilere yönelik araçların ve kütüphanelerin çoğu Ubuntu üzerinde sorunsuz bir şekilde çalışır. Bu kombinasyon, PHP 7.4’ün gücü ile Ubuntu 20.04’ün kararlılığını bir araya getirerek, hem yeni başlayanlar hem de deneyimli profesyoneller için ideal bir yerel geliştirme ortamı oluşturur. Bu makale boyunca, bu güçlü ikiliyi nasıl bir araya getireceğinizi adım adım keşfedeceğiz. Güvenli bir kurulum süreci ve verimli bir çalışma ortamı sağlamak için gerekli tüm adımları detaylı bir şekilde inceleyeceğiz.
PHP’nin web üzerindeki hakimiyeti göz önüne alındığında, bu dili öğrenmek ve ustalaşmak, modern web geliştirme kariyeri için vazgeçilmezdir. PHP 7.4’ün getirdiği yenilikler, eski sürümlere göre önemli ölçüde performans artışı sağlamıştır. Bu, özellikle yüksek trafikli web siteleri için kritik bir faktördür. Örneğin, PHP 7.0 ile başlayan ve 7.4 ile devam eden performans sıçramaları, aynı donanım üzerinde çok daha fazla isteği işleyebilme kapasitesi anlamına gelmektedir. Bu durum, sunucu maliyetlerini düşürmeye yardımcı olurken, kullanıcı deneyimini de iyileştirir. Dolayısıyla, bu sürüm, hem yeni projeler için sağlam bir temel sunar hem de mevcut projelerin güncellenmesi için güçlü bir argüman teşkil eder. Ubuntu 20.04’ün sunduğu güncel paketler ve güvenlik özellikleri ise, geliştirme ortamınızın hem güncel hem de güvende kalmasını sağlar. Bu sayede, geliştiriciler kod yazmaya odaklanabilir ve altyapı sorunlarıyla daha az uğraşabilirler.
Geliştirme Ortamı Kurulumuna Başlamadan Önce Neler Yapmalıyız?
Herhangi bir yazılım kurulumuna başlamadan önce sisteminizi hazırlamak, sorunsuz bir deneyim için hayati öneme sahiptir. Ubuntu 20.04 üzerinde PHP 7.4 ve bir yerel geliştirme ortamı kurarken de bu durum geçerlidir. İlk olarak, sisteminizin güncel olduğundan emin olmalısınız. Güncel bir sistem, hem güvenlik açıklarını kapatır hem de paket bağımlılık sorunlarını en aza indirir. Bu, genellikle terminalde birkaç basit komutla gerçekleştirilebilir. Sistem güncellemeleri, mevcut paketlerin en son kararlı sürümlerine geçilmesini sağlar ve bu da potansiyel uyumluluk sorunlarını önler. Ayrıca, PHP gibi bir dilin kurulumu sırasında gerekli olabilecek temel araçların (örneğin, wget, curl, software-properties-common) sisteminizde yüklü olduğundan emin olmak da önemlidir. Bu araçlar, ek paket depoları eklemek veya dosya indirmek için sıklıkla kullanılır.
PHP’nin çeşitli sürümlerini Ubuntu’ya kurmak için genellikle üçüncü taraf depolar kullanılır. Bunun en popüler ve güvenilir yollarından biri, Ondrej PPA (Personal Package Archive) deposunu eklemektir. Ondrej PPA, Debian ve Ubuntu için PHP’nin farklı sürümlerini ve ilgili eklentilerini sunan saygın bir kaynaktır. Bu depoyu ekledikten sonra, sisteminiz PHP 7.4 paketlerine erişebilir hale gelir. Bu ön hazırlık adımları, kurulum sürecinin geri kalanının sorunsuz ilerlemesini sağlar ve olası hataların önüne geçer. Unutmayın ki, herhangi bir sistem değişikliği yapmadan önce önemli verilerinizi yedeklemek her zaman iyi bir uygulamadır, ancak bu kurulum süreci genellikle sistem kararlılığını etkileyecek büyük değişiklikler içermez.
Vaka Analizi: Yeni Bir Proje İçin Temel Hazırlıklar
Ayşe, yeni bir e-ticaret platformu üzerinde çalışmaya başlayacak genç bir geliştirici. Proje, eski bir kod tabanına sahip olduğu için PHP 7.4’ü temel alıyor ve Ubuntu 20.04 üzerinde yerel bir geliştirme ortamı kurması gerekiyor. Ayşe, ilk olarak terminali açtı ve sistemini güncellemeyle işe koyuldu. Bu, hem mevcut güvenlik açıklarını kapatmak hem de yeni kurulacak paketlerin en güncel bağımlılıklarla çalışmasını sağlamak için kritik bir adımdı. Ardından, PHP’nin farklı sürümlerini barındıran Ondrej PPA deposunu ekledi. Bu depo, PHP 7.4’e kolayca erişmesini sağladı. Bu ön hazırlıklar sayesinde Ayşe, projesinin gerektirdiği spesifik PHP sürümünü sorunsuz bir şekilde kurabildi ve projenin başlangıç aşamasını hızlandırdı. Bu durum, geliştirme sürecindeki olası uyumsuzlukları ve zaman kayıplarını en baştan engellemiş oldu.
Şimdi, bu adımları sırasıyla nasıl uygulayacağımıza bakalım:
- Sistem Güncellemesi: Terminali açın (Ctrl+Alt+T) ve aşağıdaki komutları çalıştırın:
sudo apt update sudo apt upgrade -yBu komutlar, paket listelerinizi günceller ve sisteminizdeki tüm yüklü paketleri en son sürümlerine yükseltir.
- Gerekli Araçların Kurulumu: Eğer yüklü değillerse, aşağıdaki komutla gerekli araçları kurun:
sudo apt install software-properties-common curl wget -yBu paketler, özellikle PPA depolarını eklemek ve internetten dosya indirmek için kullanılır.
- Ondrej PPA Deposunu Ekleme: PHP 7.4’ü kolayca kurabilmek için Ondrej PPA deposunu eklememiz gerekiyor:
sudo add-apt-repository ppa:ondrej/php -y sudo apt updateİlk komut depoyu eklerken, ikinci komut yeni deponun paket listelerini sisteminize dahil etmek için paket listesini tekrar günceller. Bu adımların tamamlanmasının ardından, sisteminiz PHP 7.4 kurulumuna hazır hale gelecektir. Artık PHP’nin kendisini ve gerekli eklentilerini kurmaya geçebiliriz.
Ubuntu 20.04 Üzerine PHP 7.4 Nasıl Kurulur?
Sistemimizi hazırladığımıza göre, şimdi PHP 7.4’ü Ubuntu 20.04’e kurma zamanı. Bu aşama, web uygulamalarınızın çalışması için temel PHP motorunu yüklemeyi ve gerekli eklentileri etkinleştirmeyi içerir. PHP’nin kendisi tek başına yeterli değildir; çoğu web uygulaması, veritabanı bağlantısı, resim işleme, XML ayrıştırma gibi işlevler için çeşitli PHP eklentilerine ihtiyaç duyar. Bu nedenle, genel bir geliştirme ortamı için en yaygın kullanılan eklentileri de kurmak önemlidir. Kurulum süreci, komut satırı üzerinden birkaç basit komutla gerçekleştirilir ve oldukça hızlıdır. PHP 7.4’ün kurulumu, sisteminizdeki mevcut PHP sürümleriyle çakışma yaşamadan ayrı bir şekilde yapılabilir, bu da farklı projeler için farklı PHP sürümlerini kullanmanız gerektiğinde büyük bir avantaj sağlar. Kurulumun ardından, PHP’nin doğru bir şekilde yüklendiğini ve çalıştığını doğrulamak için basit bir test yapacağız.
PHP 7.4’ü ve temel eklentilerini kurmak için aşağıdaki adımları izleyin:
- PHP 7.4 ve Temel Eklentilerin Kurulumu: Terminalde aşağıdaki komutu çalıştırın:
sudo apt install php7.4 php7.4-cli php7.4-common php7.4-mysql php7.4-xml php7.4-mbstring php7.4-gd php7.4-curl php7.4-zip php7.4-fpm libapache2-mod-php7.4 -yBu komut, PHP 7.4’ün kendisini (
php7.4), komut satırı arayüzünü (php7.4-cli), ortak dosyalarını (php7.4-common) ve popüler eklentilerini kurar:php7.4-mysql: MySQL/MariaDB veritabanı bağlantısı için.php7.4-xml: XML verilerini işlemek için.php7.4-mbstring: Çok baytlı karakter dizileri (örneğin Türkçe karakterler) için.php7.4-gd: Resim işleme ve manipülasyonu için.php7.4-curl: URL’ler üzerinden veri alışverişi yapmak için.php7.4-zip: Zip arşivleri oluşturmak ve açmak için.php7.4-fpm: PHP-FPM (FastCGI Process Manager) için, özellikle Nginx gibi sunucularla veya yüksek performans gerektiren durumlar için idealdir.libapache2-mod-php7.4: Apache web sunucusu ile PHP’yi entegre etmek için bir modül.
Bu paketlerin yüklenmesi biraz zaman alabilir; kurulum tamamlandığında terminal size bilgi verecektir.
- PHP Kurulumunu Doğrulama: PHP’nin doğru bir şekilde kurulduğunu ve sürümünün 7.4 olduğunu doğrulamak için aşağıdaki komutu kullanın:
php -vBu komutun çıktısı, PHP sürümünüzü ve derleme detaylarını göstermelidir. Çıktıda “PHP 7.4.x” gibi bir ifade görmelisiniz. Örneğin:
PHP 7.4.33 (cli) (built: Oct 27 2022 14:48:47) ( NTS ) Copyright (c) The PHP Group Zend Engine v3.4.0, Copyright (c) Zend Technologies with Zend OPcache v7.4.33, Copyright (c), by Zend TechnologiesBu çıktı, PHP 7.4’ün komut satırı arayüzünün başarıyla kurulduğunu ve çalıştığını gösterir. Artık PHP kodlarınızı terminal üzerinden çalıştırabilirsiniz. Web sunucusu entegrasyonu için sonraki adıma geçebiliriz. Bu adımlar, geliştirme ortamınızın temelini oluşturur ve çoğu PHP projesi için yeterli bir başlangıç noktası sağlar. Daha sonra ihtiyacınız olan diğer eklentileri de benzer şekilde
sudo apt install php7.4-eklenti_adıkomutuyla kurabilirsiniz.
Bu aşamadan sonra, PHP 7.4’ün temel işlevselliği sisteminizde mevcut olacaktır. Ancak, web tabanlı uygulamalarınızı çalıştırabilmek için bir web sunucusuna ihtiyacımız var. Bir sonraki bölümde, Apache web sunucusunu kurup PHP 7.4 ile nasıl entegre edeceğimizi detaylıca inceleyeceğiz. Bu entegrasyon, tarayıcınız üzerinden PHP dosyalarına erişmenizi ve geliştirdiğiniz web sitelerini yerel olarak görüntülemenizi sağlayacaktır.
PHP 7.4 ile Çalışacak Bir Web Sunucusu Nasıl Yapılandırılır? (Apache2 Örneği)
PHP uygulamalarınızı tarayıcı üzerinden çalıştırabilmek için bir web sunucusuna ihtiyacınız vardır. Apache2, dünya genelinde en yaygın kullanılan web sunucularından biridir ve PHP ile mükemmel bir uyum içindedir. Ubuntu 20.04 üzerinde Apache2’yi kurmak ve PHP 7.4 ile entegre etmek oldukça basittir. Bu entegrasyon, Apache’nin PHP dosyalarını yorumlayabilmesini ve tarayıcıya sonuçları göndermesini sağlar. Apache’nin modüler yapısı sayesinde, libapache2-mod-php7.4 modülünü etkinleştirerek PHP desteğini kolayca ekleyebiliriz. Ayrıca, birden fazla proje üzerinde çalışırken her bir proje için ayrı bir alan adı (örneğin, proje1.local, proje2.local) tanımlamanıza olanak tanıyan sanal host (Virtual Host) yapılandırması da oldukça kullanışlıdır. Bu, geliştirme ortamınızı daha düzenli ve gerçek dünya senaryolarına uygun hale getirir.
Apache2’yi kurmak ve PHP 7.4 ile yapılandırmak için aşağıdaki adımları izleyin:
- Apache2 Kurulumu: Apache web sunucusunu kurmak için aşağıdaki komutu kullanın:
sudo apt install apache2 -yKurulum tamamlandığında, Apache2 servisi otomatik olarak başlayacaktır. Tarayıcınızda
http://localhostadresine giderek “Apache2 Ubuntu Default Page” sayfasını görmeniz gerekir. Bu, Apache’nin başarıyla çalıştığını gösterir. - PHP 7.4 Modülünü Etkinleştirme: PHP’yi Apache ile entegre etmek için daha önce kurduğumuz
libapache2-mod-php7.4modülünü etkinleştirmemiz gerekiyor. Bu genellikle kurulum sırasında otomatik olarak yapılır, ancak kontrol etmek ve emin olmak faydalıdır:sudo a2enmod php7.4 sudo systemctl restart apache2a2enmodkomutu Apache modüllerini etkinleştirmek için kullanılır. Ardından, Apache servisini yeniden başlatarak değişikliklerin etkinleşmesini sağlarız. - PHP Bilgi Sayfası Oluşturma (Test Amaçlı): PHP’nin Apache ile doğru bir şekilde çalıştığını doğrulamak için basit bir
phpinfo()dosyası oluşturalım. Bu dosya, PHP’nin yapılandırması ve yüklü eklentileri hakkında detaylı bilgi gösterecektir.Apache’nin varsayılan web kök dizini
/var/www/html/konumundadır. Bu dizin içinde bir dosya oluşturalım:sudo nano /var/www/html/info.phpAçılan editöre aşağıdaki kodu yapıştırın ve kaydedin (Ctrl+O, Enter, Ctrl+X):
<?php phpinfo(); ?>Şimdi tarayıcınızda
http://localhost/info.phpadresine gidin. PHP 7.4’ün yapılandırma sayfasını görmelisiniz. Bu sayfa, PHP’nin sürümünü, yüklü eklentilerini ve diğer birçok yapılandırma bilgisini içerir. Bu, PHP’nin Apache ile başarıyla entegre edildiği anlamına gelir. Güvenlik nedeniyle, bu dosyayı testten sonra silmeyi unutmayın:sudo rm /var/www/html/info.php
Vaka Analizi: Çoklu Proje Yönetimi İçin Sanal Hostlar
Mehmet, aynı anda hem kişisel blogu hem de bir müşterisi için geliştirdiği e-ticaret sitesi üzerinde çalışıyor. Her iki projenin de farklı alan adları (örneğin, blogum.local ve ecommerce.local) üzerinden erişilebilir olmasını istiyor. Bu senaryoda Mehmet, Apache’nin sanal host özelliğini kullanarak her proje için ayrı bir yapılandırma dosyası oluşturur. İlk olarak, /etc/apache2/sites-available/ dizininde blogum.local.conf ve ecommerce.local.conf adında iki yeni dosya oluşturur. Her bir dosya, ilgili projenin kök dizinini ve sunucu adını belirtir. Ardından, a2ensite komutuyla bu sanal hostları etkinleştirir ve Apache’yi yeniden başlatır. Son olarak, /etc/hosts dosyasına bu yerel alan adlarını 127.0.0.1 ile eşleştirerek tarayıcıdan erişilebilir hale getirir. Bu sayede Mehmet, aynı yerel sunucu üzerinde birbirinden bağımsız iki web sitesi geliştirebilir ve yönetebilir.
Bu adımlarla, Apache2 web sunucunuz PHP 7.4 ile birlikte çalışmaya hazır hale gelmiştir. Artık web uygulamalarınızı /var/www/html/ dizinine yerleştirerek veya sanal hostlar aracılığıyla farklı dizinlerde barındırarak yerel olarak test edebilirsiniz. Bu yapılandırma, geliştirme sürecinizi büyük ölçüde kolaylaştıracak ve size gerçek bir sunucu ortamının simülasyonunu sağlayacaktır. Gelecek bölümde, PHP uygulamalarınızın veri depolaması için bir veritabanı sunucusu olan MySQL/MariaDB’yi nasıl kuracağımızı inceleyeceğiz.
PHP Uygulamaları İçin MySQL/MariaDB Veritabanı Nasıl Kurulur ve Yapılandırılır?
Çoğu modern PHP uygulaması, kullanıcı verileri, ürün bilgileri, ayarlar ve daha fazlası gibi dinamik içerikleri depolamak için bir veritabanına ihtiyaç duyar. MySQL ve MariaDB, açık kaynaklı ve oldukça popüler ilişkisel veritabanı yönetim sistemleridir ve PHP ile sorunsuz bir şekilde entegre olurlar. MariaDB, MySQL’in topluluk tarafından geliştirilen bir fork’udur ve genellikle MySQL ile tam uyumludur, ancak bazı performans iyileştirmeleri ve ek özellikler sunar. Ubuntu 20.04 üzerinde bu veritabanı sunucularından birini kurmak ve temel bir veritabanı ile kullanıcı oluşturmak, PHP uygulamalarınızın veri depolama ihtiyaçlarını karşılamak için kritik bir adımdır. Kurulumdan sonra, veritabanı sunucusunun güvenliğini sağlamak için bazı temel yapılandırmalar yapmak da önemlidir. Bu sayede, geliştirme ortamınız hem işlevsel hem de güvenli olacaktır.
MariaDB’yi kurmak ve yapılandırmak için aşağıdaki adımları izleyin:
- MariaDB Kurulumu: MariaDB sunucusunu kurmak için aşağıdaki komutu kullanın:
sudo apt install mariadb-server -yBu komut, MariaDB sunucusunu ve ilgili bağımlılıkları sisteminize yükleyecektir. Kurulum tamamlandığında, MariaDB servisi otomatik olarak başlayacaktır.
- MariaDB Güvenlik Yapılandırması: Kurulumdan sonra, veritabanı sunucunuzun güvenliğini artırmak için bir güvenlik betiği çalıştırmak iyi bir uygulamadır:
sudo mysql_secure_installationBu betik size birkaç soru soracaktır:
- Root parolası belirleme: İlk kurulumda genellikle boş bırakılır, Enter tuşuna basın.
- Yeni bir root parolası belirleme: Güçlü bir parola belirlemeniz şiddetle tavsiye edilir.
- Anonim kullanıcıları kaldırma: (Remove anonymous users?) ->
Y - Root’un uzaktan girişini engelleme: (Disallow root login remotely?) ->
Y - Test veritabanını kaldırma: (Remove test database and access to it?) ->
Y - Ayrıcalık tablolarını yeniden yükleme: (Reload privilege tables now?) ->
Y
Bu adımlar, MariaDB kurulumunuzu daha güvenli hale getirecektir.
- Yeni Bir Veritabanı ve Kullanıcı Oluşturma: PHP uygulamanız için özel bir veritabanı ve kullanıcı oluşturmak, güvenlik ve organizasyon açısından iyi bir yaklaşımdır. Root kullanıcısı yerine uygulamanıza özel bir kullanıcı kullanmak, yetkilendirme kontrolünü artırır.
MariaDB komut istemcisine root olarak giriş yapın:
sudo mysql -u root -pParolanızı girin (önceki adımda belirlediğiniz). Komut istemine girdikten sonra aşağıdaki SQL komutlarını çalıştırın. Örnek olarak,
proje_dbadında bir veritabanı veproje_useradında bir kullanıcı oluşturacağız.'sifreniz'kısmını güçlü bir parola ile değiştirin:CREATE DATABASE proje_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER 'proje_user'@'localhost' IDENTIFIED BY 'sifreniz'; GRANT ALL PRIVILEGES ON proje_db.* TO 'proje_user'@'localhost'; FLUSH PRIVILEGES; EXIT;Bu komutlar:
- Yeni bir veritabanı oluşturur (
proje_db). localhost‘tan erişebilen yeni bir kullanıcı oluşturur (proje_user).- Bu kullanıcıya
proje_dbveritabanı üzerinde tüm ayrıcalıkları verir. - Ayrıcalık tablolarını günceller.
- MariaDB istemcisinden çıkar.
- Yeni bir veritabanı oluşturur (
- PHP’den MySQL Bağlantısını Test Etme: Basit bir PHP betiği ile veritabanı bağlantısını test edebilirsiniz. Örneğin,
/var/www/html/db_test.phpadında bir dosya oluşturun:sudo nano /var/www/html/db_test.phpAşağıdaki kodu yapıştırın, kullanıcı adı, parola ve veritabanı adını kendi belirlediklerinizle değiştirin:
<?php $servername = "localhost"; $username = "proje_user"; // Oluşturduğunuz kullanıcı adı $password = "sifreniz"; // Oluşturduğunuz parola $dbname = "proje_db"; // Oluşturduğunuz veritabanı adı // Veritabanı bağlantısını oluşturma $conn = new mysqli($servername, $username, $password, $dbname); // Bağlantıyı kontrol etme if ($conn->connect_error) { die("Bağlantı hatası: " . $conn->connect_error); } echo "Veritabanına başarıyla bağlandı!"; $conn->close(); ?>Tarayıcınızda
http://localhost/db_test.phpadresine gidin. “Veritabanına başarıyla bağlandı!” mesajını görmelisiniz. Bu, PHP’nin MariaDB ile başarılı bir şekilde iletişim kurabildiğini gösterir. Testten sonra bu dosyayı silmeyi unutmayın:sudo rm /var/www/html/db_test.php
Bu adımlarla, yerel geliştirme ortamınızın temel bileşenleri olan PHP 7.4, Apache2 ve MariaDB başarıyla kurulmuş ve yapılandırılmıştır. Artık dinamik web uygulamaları geliştirmeye başlayabilir ve bunları yerel makinenizde test edebilirsiniz. Bu yapılandırma, web geliştirme projeleriniz için sağlam bir temel sunar ve size tam kontrol sağlar. İleri düzey geliştirme için bazı ek araçları ve ipuçlarını bir sonraki bölümde ele alacağız.
Verimli ve Güvenli Bir PHP Geliştirme Ortamı İçin İpuçları Nelerdir?
Temel PHP 7.4, Apache ve MariaDB kurulumunu tamamladıktan sonra, geliştirme ortamınızı daha verimli, güvenli ve esnek hale getirecek bazı ileri düzey ipuçları ve en iyi uygulamaları keşfetmek faydalı olacaktır. Bu ipuçları, geliştirme sürecinizi hızlandırabilir, hata ayıklamayı kolaylaştırabilir ve projelerinizin kalitesini artırabilir. Modern web geliştirme, sadece kod yazmaktan ibaret değildir; aynı zamanda bağımlılıkları yönetmek, hataları bulmak ve düzeltmek, kod versiyonlarını takip etmek ve farklı ortamlar arasında tutarlılık sağlamak gibi birçok süreci de içerir. Bu bölümde ele alacağımız araçlar ve yöntemler, bu süreçleri optimize etmenize yardımcı olacaktır.
- Xdebug ile Hata Ayıklama:
Xdebug, PHP uygulamalarınızdaki hataları bulmak ve kod akışını adım adım izlemek için vazgeçilmez bir araçtır. Geliştirme sırasında karşılaşılan karmaşık sorunları çözmek için oldukça güçlü bir hata ayıklayıcıdır. Xdebug’ı kurmak için:
sudo apt install php7.4-xdebug -yArdından, Xdebug’ı PHP yapılandırma dosyanızda (genellikle
/etc/php/7.4/apache2/php.iniveya/etc/php/7.4/fpm/php.ini) etkinleştirmeniz gerekir. Dosyayı açın:sudo nano /etc/php/7.4/apache2/php.iniDosyanın sonuna aşağıdaki satırları ekleyin:
[XDebug] zend_extension=xdebug.so xdebug.mode=develop,debug xdebug.start_with_request=yes xdebug.discover_client_host=yes xdebug.client_port=9003 xdebug.idekey="VSCODE" # Kullandığınız IDE'ye göre değiştirin (örneğin PHPSTORM)Değişiklikleri kaydedip Apache’yi yeniden başlatın:
sudo systemctl restart apache2Artık IDE’niz (Visual Studio Code, PhpStorm vb.) üzerinden Xdebug ile hata ayıklama yapabilirsiniz.
- Composer ile Bağımlılık Yönetimi:
Composer, PHP için bir bağımlılık yöneticisidir. Projenizin ihtiyaç duyduğu kütüphaneleri ve paketleri kolayca yönetmenizi sağlar. Çoğu modern PHP çerçevesi (Laravel, Symfony) ve kütüphanesi Composer’ı kullanır. Composer’ı kurmak için:
curl -sS https://getcomposer.org/installer | php sudo mv composer.phar /usr/local/bin/composerKurulumu doğrulayın:
composer --versionArtık projenizin kök dizininde
composer installkomutunu kullanarak bağımlılıkları yükleyebilirsiniz. - Versiyon Kontrol Sistemi (Git):
Git, kod değişikliklerinizi takip etmek, farklı özellikler üzerinde çalışmak ve ekip üyeleriyle işbirliği yapmak için endüstri standardı bir versiyon kontrol sistemidir. Yerel geliştirme ortamınızda Git kullanmak, kodunuzun güvenliğini sağlar ve proje yönetimini kolaylaştırır.
sudo apt install git -y git --versionGit’i yapılandırmayı unutmayın:
git config --global user.name "Adınız Soyadınız" git config --global user.email "email@example.com" - Ortam Değişkenleri ve .env Dosyaları:
Veritabanı kimlik bilgileri, API anahtarları gibi hassas bilgileri doğrudan kodunuzda saklamak yerine, ortam değişkenleri veya
.envdosyaları kullanarak yönetmek daha güvenlidir. Bu, farklı ortamlar (geliştirme, test, üretim) arasında kolayca geçiş yapmanızı sağlar ve hassas bilgilerin versiyon kontrol sistemine girmesini engeller. PHP’de Dotenv kütüphanesi gibi araçlar bu konuda yardımcı olabilir. - Mobil Uyumlu HTML Örneği (Media Query):
Modern web uygulamaları, farklı ekran boyutlarına uyum sağlamalıdır. Geliştirme yaparken mobil uyumluluğu test etmek önemlidir. Basit bir CSS media query örneği:
<!DOCTYPE html> <html lang="tr"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Mobil Uyumlu Sayfa</title> <style> body { font-family: Arial, sans-serif; margin: 20px; background-color: #f4f4f4; /* Light mode default */ color: #333; } .container { width: 90%; margin: auto; padding: 20px; background-color: #fff; border-radius: 8px; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); } h2 { color: #0056b3; } /* Mobil cihazlar için stil (ekran genişliği 600px ve altı) */ @media (max-width: 600px) { .container { width: 95%; padding: 15px; } h2 { font-size: 1.5em; } body { background-color: #e0e0e0; /* Mobil için biraz farklı arka plan */ } } /* Dark mode desteği */ @media (prefers-color-scheme: dark) { body { background-color: #222; color: #eee; } .container { background-color: #333; box-shadow: 0 2px 4px rgba(255, 255, 255, 0.1); } h2 { color: #88bbff; } } </style> </head> <body> <div class="container"> <h2>Hoş Geldiniz!</h2> <p>Bu sayfa, farklı ekran boyutlarına ve karanlık moda uyum sağlamak için tasarlanmıştır.</p> <p>Tarayıcınızın pencere boyutunu değiştirerek veya karanlık mod ayarını açıp kapatarak farkı gözlemleyebilirsiniz.</p> </div> </body> </html>Bu örnek, tarayıcı penceresi 600 pikselin altına düştüğünde farklı bir stil uygulayan ve kullanıcının sistem temasına (light/dark mode) göre renkleri ayarlayan basit bir CSS media query’yi göstermektedir. Bu, mobil uyumlu tasarımların nasıl test edilebileceğine dair temel bir fikirdir.
Bu ileri düzey ipuçları ve araçlar, yerel geliştirme ortamınızı daha profesyonel ve verimli hale getirecektir. Hata ayıklamadan bağımlılık yönetimine, sürüm kontrolünden güvenlik pratiklerine kadar, bu yaklaşımlar modern web geliştirme süreçlerinin ayrılmaz bir parçasıdır. Bu araçları kullanarak, daha hızlı kod yazabilir, hataları daha kolay tespit edebilir ve projelerinizi daha güvenli bir şekilde yönetebilirsiniz. Unutmayın, iyi bir geliştirme ortamı, kaliteli yazılımın temelidir.
PHP 7.4 Geliştirme Ortamı Kurulumu: Sonuç ve Sıkça Sorulan Sorular
Bu kapsamlı makale boyunca, Ubuntu 20.04 üzerinde PHP 7.4’ü ve tam teşekküllü bir yerel geliştirme ortamını adım adım nasıl kuracağımızı öğrendik. Başlangıçta sistem güncellemelerinden başlayarak, Ondrej PPA deposunu ekledik ve PHP 7.4’ün kendisini temel eklentileriyle birlikte kurduk. Ardından, web uygulamalarımızı sunmak için Apache2 web sunucusunu yapılandırdık ve PHP ile entegrasyonunu sağladık. Veri depolama ihtiyaçlarımız için MariaDB veritabanı sunucusunu kurup güvence altına aldık ve PHP uygulamalarımız için özel bir veritabanı ile kullanıcı oluşturduk. Son olarak, geliştirme sürecimizi daha verimli ve güvenli hale getirecek Xdebug, Composer, Git gibi ileri düzey araçları ve ortam değişkenleri gibi en iyi pratikleri inceledik. Bu adımların tamamı, hem yeni başlayanlar hem de deneyimli geliştiriciler için sağlam, güvenilir ve esnek bir yerel geliştirme ortamı oluşturmak amacıyla tasarlanmıştır.
Kurduğumuz bu ortam, PHP 7.4 tabanlı herhangi bir web uygulamasını geliştirmenize, test etmenize ve hata ayıklamanıza olanak tanır. Ubuntu 20.04’ün LTS sürümünün sunduğu kararlılık ve uzun süreli destek sayesinde, geliştirme ortamınızın uzun süre sorunsuz bir şekilde çalışacağından emin olabilirsiniz. Modern web geliştirme pratiklerini benimseyerek ve bu makalede belirtilen ipuçlarını uygulayarak, kod kalitenizi artırabilir, geliştirme süreçlerinizi optimize edebilir ve projelerinizi daha hızlı bir şekilde hayata geçirebilirsiniz. Unutmayın, sürekli öğrenme ve araçları etkin bir şekilde kullanma, başarılı bir geliştiricinin temel özellikleridir. Bu kurulumla birlikte, PHP dünyasına sağlam bir giriş yapmış oldunuz. Başarılar dileriz!
Sıkça Sorulan Sorular
- Neden PHP 7.4 kullanmalıyım, daha yeni sürümler varken?
PHP 7.4, birçok mevcut projenin hala kullandığı stabil ve performanslı bir sürümdür. Özellikle eski kod tabanlarını sürdürmeniz gerekiyorsa veya belirli bir projenin bağımlılıkları PHP 7.4’ü gerektiriyorsa bu sürüm hala oldukça alakalıdır. Performans açısından PHP 5.x sürümlerine göre önemli avantajlar sunar ve birçok modern özellik içerir. Yeni projelere başlarken daha güncel sürümleri (PHP 8.x) tercih etmek genellikle daha iyidir, ancak PHP 7.4’ü öğrenmek ve kullanmak, geniş bir yelpazedeki projelere uyum sağlamanıza yardımcı olur.
- PHP-FPM nedir ve Apache ile nasıl çalışır?
PHP-FPM (FastCGI Process Manager), PHP’nin web sunucularıyla daha verimli bir şekilde çalışmasını sağlayan bir FastCGI uygulamasıdır. Geleneksel olarak Apache,
mod_phpmodülü aracılığıyla PHP’yi doğrudan kendi işleminde çalıştırır. Ancak PHP-FPM, PHP isteklerini ayrı bir işlem havuzunda işler ve bu havuz, Apache veya Nginx gibi web sunucularıyla FastCGI protokolü üzerinden iletişim kurar. Bu, özellikle yüksek trafikli sitelerde daha iyi performans ve kaynak yönetimi sağlayabilir. Apache ile PHP-FPM kullanmak içinmod_proxy_fcgimodülünü etkinleştirmeniz ve Apache’yi PHP-FPM soketine istekleri yönlendirecek şekilde yapılandırmanız gerekir. - Yerel geliştirme ortamımı taşınabilir hale getirebilir miyim?
Evet, kesinlikle! Yerel geliştirme ortamınızı taşınabilir hale getirmek için Docker veya Vagrant gibi sanallaştırma araçlarını kullanabilirsiniz. Docker, uygulamanızı ve tüm bağımlılıklarını izole edilmiş “konteynerler” içinde paketleyerek farklı sistemler arasında tutarlı bir şekilde çalışmasını sağlar. Vagrant ise, sanal makineler (VirtualBox, VMware gibi) kullanarak tüm geliştirme ortamınızı tek bir yapılandırma dosyasıyla tanımlamanıza ve kolayca yeniden oluşturmanıza olanak tanır. Bu araçlar, ekip üyeleri arasında tutarlı ortamlar sağlamak ve proje kurulumunu basitleştirmek için oldukça faydalıdır.
- Hangi IDE veya kod düzenleyiciyi kullanmalıyım?
PHP geliştirme için birçok mükemmel IDE (Entegre Geliştirme Ortamı) ve kod düzenleyici bulunmaktadır. En popüler seçeneklerden bazıları şunlardır:
- PhpStorm: PHP için özel olarak tasarlanmış, güçlü özelliklere sahip profesyonel bir IDE’dir. Ücretlidir ancak kapsamlı hata ayıklama, kod tamamlama ve refactoring yetenekleri sunar.
- Visual Studio Code (VS Code): Ücretsiz ve açık kaynaklı, hafif ancak güçlü bir kod düzenleyicidir. PHP eklentileri sayesinde tam teşekküllü bir PHP geliştirme ortamına dönüştürülebilir.
- Sublime Text: Hızlı, hafif ve son derece özelleştirilebilir bir metin düzenleyicidir. Eklentilerle PHP geliştirme için de kullanılabilir.
Seçiminiz, kişisel tercihlerinize, bütçenize ve projenizin ihtiyaçlarına bağlı olacaktır.
- Veritabanı bağlantı bilgilerini PHP kodunda saklamak güvenli midir?
Hayır, veritabanı bağlantı bilgileri, API anahtarları veya diğer hassas bilgileri doğrudan PHP kodunda (örneğin, bir
.phpdosyasında sabit kodlanmış olarak) saklamak genellikle güvenli bir uygulama değildir. Bu bilgiler, kaynak kontrol sistemine (Git gibi) yanlışlıkla eklenebilir veya sunucunuz ele geçirildiğinde kolayca erişilebilir hale gelebilir. Bunun yerine, bu tür hassas bilgileri ortam değişkenleri (environment variables) veya.envdosyaları gibi yöntemlerle yönetmek çok daha güvenlidir. Laravel gibi çerçeveler, bu tür bilgileri.envdosyalarında saklama ve bunlara güvenli bir şekilde erişme mekanizmalarını yerleşik olarak sunar.
