Kıymetli dostlarım. Uzun zamandır hep Linux ortamına geçmeyi sorun yaşarım endişesi ile sürekli erteliyordum. Ama windows ortamında çalışırken başım sürekli trojen ve visürslere derde giriyor, sürekli antivirüs yazılımı kurmak zorunda kalıyordum. Bunun üzerine birde kullandığım Bilgisayar Sistemi düşük özelliklerde olunca aşırı düzeyde performans kaybı yaşıyordum. Linux ortamına geçmeden önce kısa bir analiz yaptım. Hangi php sürümü ve nedenleri, hangi mysql sürümü, hangi phpmyadmin gibi sorular üzerinde kafa yordum.
Neden PHP 7.4.33 ?
1. Mevcut projelerle maksimum uyumluluk sağladığı için
PHP 7.4, özellikle CodeIgniter 3, Laravel 6/7, eski Wordpress temaları ve pek çok kurumsal uygulama ile en uyumlu sürümdür. Yeni sürümler (PHP 8 ve üstü), birçok eski yapıyı (örneğin array offset işlemlerinde bool kontrolleri) katı tip denetimi nedeniyle bozabilir. Bizim kurduğumuz projede de create_captcha() fonksiyonunun döndürdüğü yapı, PHP 8’de hata verirken 7.4'te sorunsuz çalışmaktadır.
2. PHP 7.4 son stabil 7.x serisi olduğu için
7.4, PHP 7 serisinin son ve en kararlı sürümüdür. Hem güvenlik güncellemeleri hem de performans açısından PHP 7'nin zirvesidir. Daha eski sürümler (7.3 ve öncesi) artık çoğu sistemde desteklenmemektedir.
3. Geliştirme, test ve geçiş ortamlarında denge sağlar
Yeni sunucularda PHP 8+ yüklü gelebilir. Ancak geçiş sırasında proje uyumsuzlukları yaşamamak için önce PHP 7.4 üzerinde kararlı çalıştırmak, ardından ihtiyaç varsa 8.x’e aşamalı geçiş yapmak en doğrusudur.
4. Geliştirici topluluğu tarafından en çok desteklenen sürüm
Stack Overflow, GitHub ve blog kaynaklarında PHP 7.4 için binlerce çözüm ve örnek bulunur. Hata çözümü, yardım alma ve topluluk desteği açısından 7.4 hâlâ büyük bir kullanıcı kitlesine sahiptir.
5. Linux üzerinde kurulumu mümkün ve kontrol edilebilir
Ubuntu 22.04 ve Linux Mint 21.3 gibi sistemlerde PHP 7.4, PPA üzerinden manuel ve güvenli şekilde kurulabilir. Böylece istenen eklentilerle özel yapılandırmalar yapılabilir.
Kullanılan Yazılım Sürümleri
Bileşen | Sürüm | Notlar |
---|---|---|
PHP | 7.4.33 | Manuel kurulum |
Apache | 2.4.52 | Mint varsayılan |
MariaDB | 10.x | mysql yerine kullanıldı |
phpMyAdmin | 5.1+ | elle kurulum (uyumlu versiyon) |
1. Gerekli PPA ekleme ve PHP kurulumu:
Kurulum Adımları
1. Gerekli PPA ekleme ve PHP kurulumu
- Kullandığım işletim sistemi Linux Mint 21.3 XFCE oldu. Nedenine gelince düşük özellikli sistemlerde de rahat çalışabilsin, tam uyum sağlamayı hedefledim.
sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install php7.4 php7.4-cli php7.4-common php7.4-mysql php7.4-xml php7.4-mbstring php7.4-curl php7.4-zip php7.4-gd libapache2-mod-php7.4 -y
- 2. Apache ve MariaDB kurulumu
sudo apt install apache2 mariadb-server -y
- 3. PHP sürüm kontrolü
php -v
- 4. phpMyAdmin uyumlu şekilde kurulumu
sudo apt purge phpmyadmin -y
sudo rm -rf /usr/share/phpmyadmin
sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin
Sanal Host Oluşturma (projeler.local)
- 1. Projeler klasörü hazırlama
mkdir -p /home/mehmet/projeler/blog
sudo chmod 755 /home/mehmet/projeler
- 2. VirtualHost dosyası
ServerAdmin webmaster@localhost
DocumentRoot /home/mehmet/projeler
ServerName projeler.local
AllowOverride All
Require all granted
- 3. Etkinleştir
sudo a2ensite projeler.conf
sudo a2enmod rewrite
sudo systemctl restart apache2
- 4. Hosts dosyasına alan adı tanımı
sudo nano /etc/hosts
127.0.0.1 projeler.local
Hata ve Çözüm Günlüğü
- ❌ CAPTCHA görüntülenmiyor
sudo chown -R www-data:www-data captcha
sudo chmod -R 755 captcha
- ❌ Slug’lı sayfalar 404 veriyor
sudo a2enmod rewrite
- ❌ CAPTCHA array offset hatası
$captcha['word'] bool dönüyordu. Sebep yine yazılabilirlik.
Ekstra Tavsiyeler
- Apache’de gereksiz hata mesajlarını bastırmak için
error_reporting(E_ALL & ~E_NOTICE & ~E_WARNING); // application/config/config.php
- Masaüstüne sembolik kısayol ile erişim kolaylığı
ln -s /home/mehmet/projeler ~/Masaüstü/Projeler
Peojelere Erişmek İçin :
http://prjeler.local/Blog
http://prjeler.local/site
Sonuç
Linux Mint ortamında PHP 7.4 ile tam uyumlu, captcha, slug, yorum gibi gelişmiş özellikleri destekleyen ve Visual Studio Code gibi editörlerle entegre edilebilecek bir geliştirme ortamı başarıyla kuruldu. Şimdi sırada bu yapılandırmayı `.sh` scripti ile otomatikleştirmek veya GitHub’a aktarmak var. Herzaman olduğu gibi şimdi yine tekrarlamak istiyorum takıldığınız veya sorun yaşadığınız durumlarda yorumlara yazarsanız memnuniyetle cevaplarım. Güzel kodlar geliştirmeniz dileği ile...
Okunma Sayısı: 61
Yorumlar