PHP Sürümü Değiştirince Site Bozulursa Ne Yapılır?

Google News Google News Flipboard Flipboard Sesli oku Yazıyı beğen Favorilere Ekle 0 Yorumlar
Daha fazla

PHP sürümü değişince site bozuluyor süreci, özellikle ilk kez canlıya taşıma yapan geliştiriciler için en kritik aşamalardan biridir. Bu rehberde, PHP sürümü değişince site bozuluyor için gereken tüm hazırlıkları, adımları ve en sık karşılaşılan hata çözümlerini pratik örneklerle birlikte ele alıyoruz. Eğer PHP sürümü değişince site bozuluyor gibi bir ihtiyacınız varsa, aşağıdaki adımları sırasıyla uyguladığınızda sorunsuz bir kurulum elde edeceksiniz.

PHP sürümü değişince site bozuluyor için iki temel yaklaşım vardır: dosya aktarımı (FTP/SFTP) ve versiyon kontrolü ile otomatik dağıtım (Git). Bu yazıda her iki yöntemi de kod örnekleriyle birlikte göreceksiniz. Ayrıca Hosting kategorisindeki diğer rehberlerimizle birlikte değerlendirildiğinde, PHP sürümü değişince site bozuluyor süreci çok daha hızlı tamamlanır.

Yazının sonunda yer alan Sıkça Sorulan Sorular bölümü, PHP sürümü değişince site bozuluyor sırasında en çok merak edilen 5 soruyu yanıtlıyor. Herhangi bir adımda sorun yaşarsanız, yorum bölümüne yazmanız yeterli — birlikte çözeriz.

OzellikMinimum Gereksinim onerilen
PHP surumu7.48.1+
VeritabaniMySQL 5.7 / MariaDB 10.3MySQL 8.0+
Web sunucusuApache 2.4 / Nginx 1.18Apache 2.4+
RAM256 MB512 MB+
Disk alani500 MB2 GB+
SSLIstege bagliZorunlu (Let’s Encrypt)

PHP sürümü değişince site bozuluyor neden olur?

PHP sürümü değişince site bozuluyor neden olur?
” alt=”PHP sürümü değişince site bozuluyor neden olur?” width=”800″ height=”450″/>
PHP sürümü değişince site bozuluyor neden olur?

PHP sürümü değişince site bozuluyor neden olur? konusuna geçmeden önce, PHP sürümü değişince site bozuluyor sürecinde hangi bileşenlere ihtiyaç duyacağınızı anlamak önemlidir. Tipik bir PHP sürümü değişince site bozuluyor kurulumu üç ana bileşenden oluşur: sunucu tarafı yapılandırma, dosya sistemi düzenlemesi ve veritabanı bağlantısı.

Sistem Gereksinimleri

Sunucunuzun aşağıdaki minimum gereksinimleri karşıladığından emin olun:

  • PHP sürümü: 7.4 veya üzeri (önerilen 8.1+)
  • MySQL/MariaDB: 5.7+ veya 10.3+
  • Web sunucusu: Apache 2.4 veya Nginx 1.18+
  • PHP eklentileri: PDO, Mbstring, OpenSSL, Tokenizer, XML, Ctype, JSON, BCMath
  • Disk alanı: Minimum 500 MB boş alan
  • RAM: En az 256 MB (önerilen 512 MB)

Bu gereksinimler, modern PHP tabanlı projelerin büyük çoğunluğu için geçerlidir. PHP sürümü değişince site bozuluyor sürecinde herhangi bir eklentinin eksik olması, dağıtım hatasına yol açabilir. Aşağıdaki komutla sunucunuzdaki yüklü PHP eklentilerini listeleyebilirsiniz:

php -m | grep -iE 'pdo|mbstring|openssl|tokenizer|xml|ctype|json|bcmath'

Dosya Yapısı Hazırlığı

Çoğu PHP framework’ünde public veya web adında özel bir dizin bulunur. Bu dizin, web sunucusunun doğrudan eriştiği tek yerdir. Diğer tüm dosyalar (kod, vendor klasörü, .env dosyası) bu dizinin dışında kalmalıdır. Bu yapılandırma, güvenlik açısından kritiktir.

Paylaşımlı hosting kullanıyorsanız, dosya yapısı genellikle şu şekilde olmalıdır:

/home/kullanici/
  ├── public_html/         (web erişimli dizin)
  │   ├── index.php
  │   ├── .htaccess
  │   └── assets/
  ├── proje/               (web erişimi olmayan ana dizin)
  │   ├── app/
  │   ├── config/
  │   ├── vendor/
  │   └── .env

Bu yapı, public_html içindeki index.php‘nin ana dizindeki vendor ve .env‘e göreli yol ile erişmesini sağlar. Eğer framework’ünüzde index.php tek başına çalışıyorsa, yukarıdaki yapılandırmayı uygulayabilirsiniz.

Veritabanı Hazırlığı

Veritabanı oluşturmak için hosting panelinize giriş yapın ve MySQL Veritabanları bölümüne gidin. Yeni bir veritabanı ve bu veritabanına tam yetkili bir kullanıcı oluşturun. Veritabanı adını, kullanıcı adını ve şifreyi not alın — bir sonraki adımda .env dosyasına yazacaksınız.

PHP sürümü değişince site bozuluyor nasıl çözülür?

PHP sürümü değişince site bozuluyor nasıl çözülür?
” alt=”PHP sürümü değişince site bozuluyor nasıl çözülür?” width=”800″ height=”450″/>
PHP sürümü değişince site bozuluyor nasıl çözülür?

PHP sürümü değişince site bozuluyor nasıl çözülür? adımları, sırasıyla uygulandığında ortalama 20-30 dakika içinde tamamlanır. Aşağıdaki adımlar, PHP sürümü değişince site bozuluyor sürecini her yönüyle kapsar ve her komut kendi başına çalıştırılabilir.

Adım 1: Dosya Aktarımı

Proje dosyalarını sunucuya aktarmak için rsync veya scp komutlarını kullanabilirsiniz. SSH erişiminiz varsa rsync tercih edilir; çünkü aktarım yarıda kesilirse kaldığı yerden devam eder:

# Yerel makineden sunucuya proje aktarimi
rsync -avz --progress --exclude='.env' --exclude='vendor/' \
  ./local-proje/ user@sunucu.com:~/proje-dizini/

# Dosya aktarimini dogrula
ssh user@sunucu.com 'ls -la ~/proje-dizini | head -20'

Bu komut, ./local-proje/ dizinindeki tüm dosyaları sunucuya aktarır ve aktarım bittikten sonra bir özet sunar. Aktarım tamamlandığında sunucuda oturum açıp ls -la ~/proje-dizini komutuyla dosya listesini doğrulayın.

Adım 2: Yapılandırma Dosyalarını Düzenleme

Projenin kök dizininde .env veya config.php gibi yapılandırma dosyalarını bulun ve üretim ortamına uygun şekilde düzenleyin. PHP sürümü değişince site bozuluyor için tipik bir yapılandırma şu şekildedir:

# .env (Laravel ornegi)
APP_NAME="SiteAdi"
APP_ENV=production
APP_KEY=base64:Bu32KarakterlikKeyBurayaYazilmaliXX
APP_DEBUG=false
APP_URL=https://siteadi.com

LOG_CHANNEL=stack
LOG_LEVEL=error

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=site_veritabani
DB_USERNAME=site_kullanici
DB_PASSWORD=GucluSifre123!

Bu dosyadaki APP_ENV, APP_DEBUG ve DB_PASSWORD değerleri özellikle kritiktir. Üretim ortamında APP_DEBUG=false olmalıdır; aksi halde hassas hata mesajları kullanıcıya gösterilebilir ve güvenlik açığı oluşur.

Adım 3: Veritabanı Migrasyonu

Veritabanı tablolarını oluşturmak için projenin kök dizininde aşağıdaki komutu çalıştırın:

# Veritabani tablolarini olustur
cd ~/proje-dizini
php artisan migrate --force

# Onemli seed verilerini yukle
php artisan db:seed --class=InitialSeeder

# Config ve route cache olustur
php artisan config:cache
php artisan route:cache
php artisan view:cache

Bu komut, migration dosyalarını sırasıyla çalıştırır ve tüm tabloları oluşturur. Çıktıda her tablo için OK veya FAIL mesajını görürsünüz. Eğer bir tablo oluşturulamazsa, hata mesajı detaylı nedeni açıklar; genellikle veritabanı bağlantı bilgilerinin yanlış olması veya yazma yetkisi eksikliğidir.

Adım 4: Dosya İzinleri

Bazı framework’lerde yazılabilir olması gereken özel dizinler vardır. PHP sürümü değişince site bozuluyor sürecinde en sık karşılaşılan izin sorunları şu dizinlerde yaşanır:

# Dizin ve dosya izinlerini ayarla
cd ~/proje-dizini

# Dizinler icin 755, dosyalar icin 644
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;

# Yazilabilir olmasi gereken ozel dizinler
chmod -R 775 storage bootstrap/cache
chmod -R 775 public/uploads

# Sahiplik (paylasimli hosting icin)
# chown -R kullanici:kullanici .

Bu komutlar, storage ve bootstrap/cache dizinlerine grup yazma yetkisi verir ve sahipliği www-data kullanıcısına atar. Eğer paylaşımlı hosting kullanıyorsanız, www-data yerine hosting’in atadığı kullanıcıyı yazmanız gerekebilir (genellikle kendi kullanıcı adınız).

Adım 5: Test ve Doğrulama

Tüm yapılandırma tamamlandıktan sonra tarayıcıdan site adresine gidin ve aşağıdaki kontrolleri yapın:

  • Ana sayfa yükleniyor ve HTTP 200 dönüyor mu?
  • Veritabanı bağlantısı çalışıyor mu (login/register sayfası açılıyor mu)?
  • JavaScript ve CSS dosyaları yükleniyor mu?
  • Form gönderimi çalışıyor mu (bir test mesajı gönderin)?

PHP sürümü değişince site bozuluyor için teknik kontrol listesi

PHP sürümü değişince site bozuluyor için teknik kontrol listesi
” alt=”PHP sürümü değişince site bozuluyor için teknik kontrol listesi” width=”800″ height=”450″/>
PHP sürümü değişince site bozuluyor için teknik kontrol listesi

PHP sürümü değişince site bozuluyor için teknik kontrol listesi başlığı altında, PHP sürümü değişince site bozuluyor sürecinde en sık karşışılan 5 hatayı ve bunların kesin çözümlerini paylaşıyoruz. Bu hataların her biri, geliştiricilerin saatlerce uğraşmasına neden olabilir; ancak aşağıdaki çözümlerle hızlıca aşılır.

Hata 1: 500 Internal Server Error

Bu hata genellikle .htaccess dosyasının eksik veya hatalı olmasından kaynaklanır. Çözüm olarak aşağıdaki standart yapılandırmayı kullanabilirsiniz:

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>

Bu kural, gelen tüm istekleri index.php üzerinden yönlendirir. Eğer paylaşımlı hosting kullanıyorsanız, RewriteBase / satırını da eklemeniz gerekebilir. Hata devam ederse, AllowOverride All ayarının apache yapılandırmasında aktif olduğundan emin olun.

Hata 2: Veritabanı Bağlantı Hatası

SQLSTATE[HY000] [2002] veya Connection refused şeklinde görülen bu hata, %70 oranında yanlış host/port bilgisinden kaynaklanır. Bazı hosting sağlayıcıları localhost yerine farklı bir host adresi (örn. mysql.hosting.com) ve port (örn. 3307) kullanır. Bu bilgileri hosting panelinden teyit edin ve .env dosyasını güncelleyin.

Bağlantı sorununu teşhis etmek için aşağıdaki PHP betiğini kullanabilirsiniz:

<?php
try {
  $pdo = new PDO('mysql:host=localhost;dbname=veritabani', 'kullanici', 'sifre');
  echo 'Baglanti basarili';
} catch (PDOException $e) {
  echo 'Hata: ' . $e->getMessage();
}

Hata 3: Dosya İzin Hataları

storage, bootstrap/cache veya uploads klasörleri yazılabilir olmalıdır. Aksi halde uygulama log yazamaz, cache oluşturamaz veya yüklenen dosyalar kaydedilemez. Aşağıdaki komutla gerekli izinleri toplu olarak ayarlayın:

find ~/proje-dizini -type d -exec chmod 755 {} \;
find ~/proje-dizini -type f -exec chmod 644 {} \;
chmod -R 775 ~/proje-dizini/storage ~/proje-dizini/bootstrap/cache

İlk iki komut tüm dizinleri 755, dosyaları 644 yapar (güvenli varsayılan). Üçüncü komut ise yazılabilir olması gereken özel dizinlere 775 verir. Bu yapılandırma, çoğu PHP projesinde çalışır.

Hata 4: PHP Sürüm Uyumsuzluğu

Projenin ihtiyaç duyduğu PHP sürümü ile sunucudaki sürüm farklıysa, Class not found, Syntax error veya Call to undefined function hataları alırsınız. Hosting panelinden PHP sürümünü kontrol edin ve projenin gereksinimlerine uygun hale getirin. Paylaşımlı hosting’lerde genellikle 7.4, 8.0, 8.1, 8.2 ve 8.3 arasında seçim yapabilirsiniz.

Hata 5: HTTPS Yönlendirme Sorunu

SSL sertifikası kurulduktan sonra HTTP trafiğini HTTPS’e yönlendirmek için .htaccess dosyasına aşağıdaki kuralı ekleyin:

RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

Bu kural, tüm HTTP isteklerini HTTPS’e 301 (kalıcı) yönlendirmesiyle aktarır. 301 yönlendirmesi SEO açısından da doğru yöntemdir; arama motorları yeni URL’yi indeksler.

PHP sürümü değişince site bozuluyor tekrar yaşanmaması için ne yapılmalı?

PHP sürümü değişince site bozuluyor tekrar yaşanmaması için ne yapılmalı? ile PHP sürümü değişince site bozuluyor sürecini tamamladıktan sonra, canlıya almadan önce aşağıdaki kontrol listesini uygulamanızı öneriyoruz. Bu liste, PHP sürümü değişince site bozuluyor dahil tüm PHP tabanlı proje dağıtımlarında geçerlidir.

Fonksiyonel Kontroller

  • Ana sayfa yükleniyor mu? Tarayıcıdan site adresine gidip HTTP 200 yanıtı alıp almadığınızı kontrol edin.
  • Veritabanı bağlantısı aktif mi? Login sayfası açılıyorsa bağlantı başarılıdır.
  • Form gönderimi çalışıyor mu? Bir test formu gönderip e-posta bildirimi alıp almadığınızı kontrol edin.
  • 404 sayfası özelleştirilmiş mi? Framework’ünüze göre hata sayfası şablonunun var olduğunu doğrulayın.
  • Hata logları temiz mi? storage/logs/ dizinini kontrol edin.

Performans Kontrolleri

PageSpeed Insights veya GTmetrix üzerinden hız testi yapın. İlk yükleme süresi 3 saniyenin altında olmalıdır. Eğer bu süreyi aşıyorsa, aşağıdaki optimizasyonları uygulayın:

  • OPcache etkinleştirilmiş mi? (php.ini’de opcache.enable=1)
  • CSS/JS dosyaları minify edilmiş mi?
  • Görseller WebP formatına dönüştürülmüş mü?
  • CDN kullanılıyor mu?
  • Browser cache header’ları doğru ayarlanmış mı?

Güvenlik Kontrolleri

PHP sürümü değişince site bozuluyor sonrası güvenlik tarafında da bazı kontroller zorunludur:

  • APP_DEBUG=false ve APP_KEY 32 karakter uzunluğunda mı?
  • .env dosyası web üzerinden erişilemez mi?
  • Admin URL’si özelleştirilmiş mi?
  • SSH key tabanlı giriş aktif mi (şifre ile giriş devre dışı mı)?
  • Firewall kuralları yapılandırılmış mı?

SEO Kontrolleri

Google Search Console üzerinden domaini doğrulayın ve sitemap.xml dosyasını gönderin. https://siteadi.com/sitemap.xml adresinin erişilebilir olduğunu kontrol edin. robots.txt dosyasının doğru yapılandırıldığından emin olun. Tüm sayfaların meta description ve title etiketlerinin benzersiz olduğunu doğrulayın.

Sıkça Sorulan Sorular

PHP sürümü değişince site bozuluyor için hangi PHP sürümü gerekiyor?
PHP sürümü değişince site bozuluyor için önerilen minimum PHP sürümü 8.1’dir. Ancak projenin kullandığı framework sürümüne bağlı olarak 7.4 veya 8.2 de gerekebilir. Hosting panelinden PHP sürümünü değiştirebilirsiniz; değişiklik genellikle birkaç dakika içinde aktif olur. Eski sürümler güvenlik güncellemelerini almadığı için üretim ortamında önerilmez.

PHP sürümü değişince site bozuluyor kaç dakika sürer?
Deneyimli bir geliştirici için PHP sürümü değişince site bozuluyor süreci 20-40 dakika arasında tamamlanır. Yeni başlayanlar için bu süre, karşılaşılan hatalara bağlı olarak 1-2 saate çıkabilir. Bu rehberdeki adımları sırasıyla uyguladığınızda, ortalama 30 dakikada kurulumu bitirebilirsiniz. Veritabanı büyüklüğü ve dosya sayısı süreyi doğrudan etkiler.

PHP sürümü değişince site bozuluyor sırasında en sık karşılaşılan hata nedir?
En sık karşılaşılan hata 500 Internal Server Error’dır. Bu hata genellikle .htaccess dosyasının eksik olması, dosya izinlerinin yanlış ayarlanması veya PHP sürüm uyumsuzluğundan kaynaklanır. Hata loglarını kontrol ederek kök nedeni tespit edebilirsiniz. Loglar genellikle storage/logs veya /var/log/apache2 altında bulunur.

PHP sürümü değişince site bozuluyor ücretsiz mi?
PHP sürümü değişince site bozuluyor için ek bir lisans veya ücret gerekmez. Ancak hosting maliyeti hosting sağlayıcısına göre değişir. Paylaşımlı hosting aylık 50-150 TL arasında, VPS ise aylık 300-1000 TL arasında olabilir. Ozgurbayram.com’da hosting karşılaştırması için ilgili kategoriyi inceleyebilirsiniz. Açık kaynaklı projeler için ücretsiz seçenekler de mevcuttur.

PHP sürümü değişince site bozuluyor sonrası yedekleme nasıl yapılır?
İlk kurulum sonrası mutlaka tam yedek alın. Veritabanı için mysqldump komutunu, dosyalar için tar veya zip komutunu kullanabilirsiniz. Otomatik yedekleme için hosting panelindeki yedekleme aracını veya cron job’u tercih edebilirsiniz. Haftalık yedekleme, çoğu küçük/orta ölçekli proje için yeterlidir; büyük projelerde günlük yedek önerilir.

Php Sürümü Değişince Site Bozuluyor Hakkında Sonuç

Bu rehberde PHP sürümü değişince site bozuluyor sürecini uçtan uca ele aldık. Dosya aktarımından veritabanı yapılandırmasına, hata çözümlerinden performans optimizasyonuna kadar tüm adımları örnek kodlarla birlikte paylaştık. Bu adımları sırasıyla uyguladığınızda, PHP sürümü değişince site bozuluyor sürecini sorunsuz tamamlayabilirsiniz.

Özetle, başarılı bir PHP sürümü değişince site bozuluyor için şu üç ilkeyi aklınızda bulundurun:

  • Yapılandırma dosyalarını (.env, .htaccess, config) üretim ortamına göre düzenleyin.
  • Dosya izinlerini (755 dizin, 644 dosya, 775 yazılabilir) doğru ayarlayın.
  • Hata loglarını düzenli kontrol ederek küçük sorunları büyümeden yakalayın.

Bu üç ilke, PHP sürümü değişince site bozuluyor dahil tüm PHP tabanlı proje dağıtımlarında geçerlidir. Daha fazla rehber için ozgurbayram.com’daki ilgili kategorileri inceleyebilirsiniz.

Sizin deneyiminiz nasıl? PHP sürümü değişince site bozuluyor sürecinde en çok zorlandığınız adım hangisi oldu? Karşılaştığınız hataları veya ek ipuçlarını yorum bölümünde paylaşırsanız, bu rehber daha fazla geliştiriciye yardımcı olur. Sorularınız varsa birlikte çözelim — yorum kısmına yazmanız yeterli.

Faydalı Bağlantılar

Yazar Hakkında

Benzer Yazılar

Bir Cevap Yaz

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir.

0/30 karakter