15%

Tüm Hosting Hizmetlerinde %15 indirim

Becerilerini test et ve herhangi bir hosting planında İndirim kazan

Kodu kullanın:

Skills
Başlayın
01.11.2024

Hosting Ortamınızda PHP Sürümünü Değiştirme (Tam Rehber)

PHP sürümünü yönetmek, herhangi bir web sitesi sahibi veya geliştirici için en kritik yönetim görevlerinden biridir. En son performans iyileştirmelerinden yararlanmak için yükseltme yapıyor olsanız, eski uygulama uyumluluğu için düşürüyor olsanız veya güvenlik açıklarını yamayor olsanız, farklı barındırma ortamlarında PHP sürümlerini nasıl değiştireceğinizi tam olarak bilmek önemli bir beceridir. Bu kapsamlı kılavuz, cPanel’in grafik arayüzünden VPS Barındırma ve özel sunuculardaki komut satırı araçlarına kadar mevcut olan her yöntemi size gösterir.

İçindekiler

  1. PHP Sürüm Yönetimi Neden Önemlidir
  2. PHP Sürümlerini ve Uyumluluğu Anlamak
  3. Yöntem 1: cPanel Aracılığıyla PHP Sürümünü Değiştirme (MultiPHP Manager)
  4. Yöntem 2: .htaccess Aracılığıyla PHP Sürümünü Değiştirme (Apache)
  5. Yöntem 3: Komut Satırı Aracılığıyla PHP Sürümünü Değiştirme (VPS/Özel Sunucular)
  6. Yöntem 4: php.ini Aracılığıyla PHP Sürümünü Değiştirme
  7. Etkin PHP Sürümünüzü Nasıl Doğrulayabilirsiniz
  8. PHP Sürümlerini Değiştirdikten Sonra Yaygın Hatalar
  9. PHP Sürüm Yönetimi için En İyi Uygulamalar
  10. Sonuç

1. PHP Sürüm Yönetimi Neden Önemlidir {#why-it-matters}

PHP, WordPress, Joomla, Drupal ve Magento gibi büyük platformlar da dahil olmak üzere, bilinen sunucu tarafı dili olan tüm web sitelerinin %77’sinden fazlasını desteklemektedir. Her büyük PHP sürümü önemli değişiklikler getirir:

  • Performans kazançları: PHP 8.x, JIT (Just-In-Time) derleyicisi sayesinde PHP 5.x veya 7.x’ten çok daha hızlıdır.
  • Güvenlik yamaları: Eski PHP sürümleri sonunda Yaşam Sonu (EOL) durumuna gelir ve artık güvenlik güncellemeleri almaz, sitenizi tehlikeye sokar.
  • Uygulama uyumluluğu: Bazı eski eklentiler, temalar veya özel uygulamalar belirli PHP sürümleri için yazılmış olabilir ve yeni sürümlerde bozulabilir.
  • Barındırma uyumluluğu: Birçok barındırma sağlayıcısı sunucu güvenliği standartlarını korumak için minimum PHP sürüm gereksinimlerini uygular.

PHP sürümünüzü proaktif olarak yönetmemek, bozuk işlevsellik, güvenlik ihlalleri veya tamamen web sitesi kapalı kalması ile sonuçlanabilir. Bu ayarı barındırma türünüz ne olursa olsun kontrol etmeyi bilmek, herhangi bir ciddi web yöneticisi için vazgeçilmezdir.

2. PHP Sürümlerini ve Uyumluluğu Anlamak {#understanding-versions}

Herhangi bir değişiklik yapmadan önce, PHP sürüm yaşam döngüsünü ve sürümlerin nasıl yapılandırıldığını anlamak önemlidir.

PHP Sürüm Numaralandırması

PHP, MAJOR.MINOR.PATCH sürüm oluşturma şemasını takip eder:

BileşenÖrnekAnlamı
Major8Önemli mimari değişiklikler, olası kırılma değişiklikleri
Minor8.2Yeni özellikler, geriye dönük uyumlu iyileştirmeler
Patch8.2.10Yalnızca hata düzeltmeleri ve güvenlik yamaları

PHP Destek Yaşam Döngüsü

Her PHP küçük sürümü şunları alır:

  • Yaklaşık 2 yıl Etkin destek (hata düzeltmeleri + güvenlik yamaları)
  • Ek 1 yıl Yalnızca güvenlik desteği
  • Hiçbir yamanın yayınlanmadığı Yaşam Sonu (EOL)

Şu Anda Desteklenen PHP Sürümleri (2024–2025 itibariyle)

PHP SürümüDurumNotlar
PHP 8.3Etkin DestekEn son kararlı sürüm
PHP 8.2Etkin DestekÇoğu uygulama için önerilen
PHP 8.1Yalnızca GüvenlikHala yaygın olarak kullanılmaktadır
PHP 8.0EOLKaçının — güvenlik yaması yok
PHP 7.4EOLYalnızca eski destek
PHP 7.3 ve altıEOLKesinlikle önerilmez

> Temel kural: Her zaman uygulamanızın resmi olarak desteklediği en yüksek PHP sürümünü çalıştırın. CMS veya çerçeveniz PHP 8.2’yi destekliyorsa, PHP 7.4’ü çalıştırmanın hiçbir nedeni yoktur.

3. Yöntem 1: cPanel Aracılığıyla PHP Sürümünü Değiştirme (MultiPHP Manager) {#cpanel-method}

cPanel, en yaygın olarak kullanılan barındırma kontrol panelidir ve PHP sürüm yönetimi için iki yerleşik araç sağlar: MultiPHP Manager (sunucu genelinde veya etki alanı başına) ve MultiPHP INI Editor (PHP ayarlarını ince ayar için). cPanel ile VPS kullanıyorsanız, her iki araç da sizin için kullanılabilir.

Adım 1: cPanel’e Giriş Yapın

  1. Tarayıcınızı açın ve cPanel giriş URL’nize gidin:
    https://yourdomain.com:2083 (güvenli, önerilen)
    https://yourdomain.com/cpanel
  • Veya doğrudan IP: https://your-server-ip:2083
    1. cPanel kullanıcı adınızı ve şifrenizi girin.
    2. Giriş Yap‘ı tıklayın.

    Adım 2: MultiPHP Manager’ı Açın

    1. cPanel panosunda, Yazılım bölümüne kaydırın.
    2. MultiPHP Manager‘ı tıklayın.

    > Alternatif: Bazı cPanel kurulumları bunu PHP Sürümünü Seç, PHP Config veya PHP Selector olarak etiketler (ikincisi CloudLinux tabanlı paylaşılan barındırmada yaygındır). Arayüz biraz farklı olabilir, ancak işlem aynıdır.

    Adım 3: Etki Alanınızı ve PHP Sürümünü Seçin

    MultiPHP Manager arayüzünde:

    1. Hesabınızda barındırılan tüm etki alanlarının ve alt etki alanlarının bir listesini göreceksiniz.
    2. Değiştirmek istediğiniz etki alanının yanındaki onay kutusunu işaretleyin.
    3. Sayfanın üstündeki PHP Sürümü açılır menüsünden istediğiniz PHP sürümünü seçin (örneğin, PHP 8.2).
    4. Uygula‘yı tıklayın.

    > Önemli: Paylaşılan barındırma hesabınız varsa, mevcut PHP sürümleri barındırma sağlayıcınız tarafından belirlenir. Listede olmayan bir sürüme ihtiyacınız varsa, ana bilgisayarınızın destek ekibine başvurun veya yüklü PHP sürümleri üzerinde tam kontrole sahip olduğunuz bir VPS Barındırma planına yükseltmeyi düşünün.

    Adım 4: (İsteğe Bağlı) MultiPHP INI Editor Aracılığıyla PHP Ayarlarını Özelleştirin

    Sürümleri değiştirdikten sonra, PHP yapılandırma değerlerini ayarlamanız gerekebilir:

    1. cPanel’deki Yazılım bölümüne dönün.
    2. MultiPHP INI Editor‘ı tıklayın.
    3. Açılır menüden etki alanınızı seçin.
    4. Aşağıdaki gibi değerleri değiştirin:
      memory_limit (örneğin, 256M)
      upload_max_filesize (örneğin, 64M)
      max_execution_time (örneğin, 300)
      post_max_size (örneğin, 64M)
      
      
      Değişiklikleri kaydetmek için Uygula‘yı tıklayın.
      
      Adım 5: Değişikliği Doğrulayın
      Etkin PHP sürümünü doğrulamak için bir test dosyası oluşturun (tam talimatlar için Bölüm 7’ye bakın).
      4. Yöntem 2: .htaccess Aracılığıyla PHP Sürümünü Değiştirme (Apache) {#htaccess-method}
      Barındırma ortamınız Apache çalıştırıyorsa ancak grafik bir PHP seçici sağlamıyorsa, PHP sürümünü doğrudan .htaccess dosyanız aracılığıyla kontrol edebilirsiniz. Bu yöntem, sunucu düzeyinde erişimin kısıtlandığı Paylaşılan Web Barındırma planlarında özellikle yararlıdır.
      Nasıl Çalışır
      Apache, .php dosyalarının nasıl işleneceğini belirlemek için işleyicileri kullanır. .htaccess dosyasında özel bir işleyici belirterek, Apache’ye siteniz için belirli bir PHP sürümü kullanmasını söylersiniz.
      Adım 1: .htaccess Dosyanıza Erişin
      .htaccess dosyasını şu yollarla düzenleyebilirsiniz:
      
      cPanel Dosya Yöneticisi: public_html dosyasına gidin, .htaccess dosyasını bulun, sağ tıklayın ve Düzenle‘yi seçin.
      FTP/SFTP istemcisi: Sunucunuza bağlanın ve web kökünüze (genellikle public_html veya www) gidin.
      SSH komut satırı: nano /home/username/public_html/.htaccess

      > Not: .htaccess gizli bir dosyadır. FTP istemcinizde “Gizli Dosyaları Göster”i etkinleştirin. cPanel Dosya Yöneticisinde, sağ üst ayarlarda “Gizli Dosyaları Göster (dotfiles)”i işaretleyin.

      Adım 2: PHP İşleyici Yönergesini Ekleyin

      Sunucunuzun PHP işleyici adlandırma kuralına bağlı olarak aşağıdaki satırlardan birini .htaccess dosyanıza ekleyin:

      PHP 8.2 için:

      AddHandler application/x-httpd-php82 .php

      PHP 8.1 için:

      AddHandler application/x-httpd-php81 .php

      PHP 7.4 için (eski):

      AddHandler application/x-httpd-php74 .php

      Alternatif sözdizimi (bazı ana bilgisayarlarda kullanılır):

      # Using suPHP or FastCGI
      Action php-cgi /cgi-bin/php82
      AddHandler php-cgi .php

      > Önemli: Tam işleyici adı (x-httpd-php82, x-httpd-php81 vb.), barındırma sağlayıcınızın sunucularında PHP’yi nasıl yapılandırdığına bağlıdır. Yukarıdakiler işe yaramazsa, barındırma sağlayıcınızın belgelerine bakın veya doğru işleyici adları için desteğe başvurun.

      Adım 3: Kaydedin ve Test Edin

      .htaccess dosyasını kaydedin ve sitenizi test edin. 500 Internal Server Error görürseniz, işleyici adı muhtemelen yanlıştır — satırı kaldırın ve alternatif bir sözdizimi deneyin.

      5. Yöntem 3: Komut Satırı Aracılığıyla PHP Sürümünü Değiştirme (VPS/Özel Sunucular) {#cli-method}

      Kendi Özel Sunucularınızı yönetiyorsanız veya kök erişimi olan bir VPS’niz varsa, PHP kurulumu ve sürüm değiştirme üzerinde tam kontrole sahipsiniz. Bu en güçlü ve esnek yöntemdir.

      Ön Koşullar

      • Sunucunuza kök veya sudo erişimi
      • SSH istemcisi (macOS/Linux’ta Terminal, Windows’ta PuTTY veya Windows Terminal)
      • Linux komut satırı işlemleri hakkında temel bilgi

      Ubuntu / Debian — update-alternatives Kullanma

      Ubuntu ve Debian tabanlı sistemler, birden fazla PHP sürümünü aynı anda yönetmek için update-alternatives sistemini kullanır.

      #### Adım 1: Ondřej Surý PHP Deposunu Ekleyin

      Bu PPA, Ubuntu/Debian için birden fazla PHP sürümü sağlar:

      sudo apt update
      sudo apt install -y software-properties-common
      sudo add-apt-repository ppa:ondrej/php
      sudo apt update

      #### Adım 2: İstenen PHP Sürümünü Yükleyin

      # Install PHP 8.2 and common extensions
      sudo apt install -y php8.2 php8.2-cli php8.2-fpm php8.2-mysql php8.2-curl 
          php8.2-gd php8.2-mbstring php8.2-xml php8.2-zip php8.2-bcmath
      
      # Install PHP 8.1 if needed
      sudo apt install -y php8.1 php8.1-cli php8.1-fpm php8.1-mysql

      #### Adım 3: Varsayılan PHP Sürümünü Değiştirin (CLI)

      # View all registered PHP alternatives
      sudo update-alternatives --list php
      
      # Switch to PHP 8.2
      sudo update-alternatives --set php /usr/bin/php8.2
      
      # Or use the interactive selector
      sudo update-alternatives --config php

      Etkileşimli seçici şuna benzer bir şey gösterecektir:

      There are 3 choices for the alternative php (providing /usr/bin/php).
      
        Selection    Path             Priority   Status
      ------------------------------------------------------------
      * 0            /usr/bin/php8.2   82        auto mode
        1            /usr/bin/php7.4   74        manual mode
        2            /usr/bin/php8.1   81        manual mode
        3            /usr/bin/php8.2   82        manual mode
      
      Press <enter> to keep the current choice[*], or type selection number:

      İstediğiniz sürüme karşılık gelen numarayı girin ve Enter tuşuna basın.

      #### Adım 4: Apache için PHP Sürümünü Değiştirin (mod_php)

      # Disable current PHP module (e.g., PHP 8.1)
      sudo a2dismod php8.1
      
      # Enable new PHP module (e.g., PHP 8.2)
      sudo a2enmod php8.2
      
      # Restart Apache
      sudo systemctl restart apache2

      #### Adım 5: Nginx için PHP Sürümünü Değiştirin (PHP-FPM)

      Nginx için PHP, PHP-FPM aracılığıyla işlenir. Nginx sunucu bloğunuzu doğru FPM soketine işaret edecek şekilde güncelleyin:

      # In your Nginx server block configuration
      location ~ .php$ {
          fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
          fastcgi_index index.php;
          include fastcgi_params;
          fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
      }

      Ardından hem PHP-FPM hem de Nginx’i yeniden başlatın:

      sudo systemctl restart php8.2-fpm
      sudo systemctl restart nginx

      CentOS / RHEL / AlmaLinux / Rocky Linux — SCL veya Remi Deposunu Kullanma

      #### Seçenek A: Software Collections (SCL) Kullanma — CentOS 7

      # Install the SCL repository
      sudo yum install -y centos-release-scl
      
      # Install PHP 7.4 via SCL
      sudo yum install -y rh-php74 rh-php74-php-fpm rh-php74-php-mysqlnd
      
      # Enable PHP 7.4 for the current session
      sudo scl enable rh-php74 bash
      
      # Verify
      php --version

      > Not: SCL değişiklikleri oturum özeldir. Bir kullanıcı için kalıcı hale getirmek için source /opt/rh/rh-php74/enable dosyasına ~/.bashrc ekleyin.

      #### Seçenek B: Remi Deposunu Kullanma — CentOS 7/8, AlmaLinux, Rocky Linux

      # Install EPEL and Remi repositories
      sudo dnf install -y epel-release
      sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm  # For RHEL 8/AlmaLinux 8
      
      # List available PHP streams
      sudo dnf module list php
      
      # Reset current PHP module
      sudo dnf module reset php
      
      # Enable PHP 8.2 stream
      sudo dnf module enable php:remi-8.2
      
      # Install PHP 8.2
      sudo dnf install -y php php-cli php-fpm php-mysqlnd php-gd php-mbstring php-xml php-zip
      
      # Verify
      php --version

      Bireysel Siteler için PHP’yi Değiştirme (Site Başına PHP Sürümü)

      Birden fazla web sitesi çalıştıran sunucularda, genellikle site başına farklı PHP sürümlerine ihtiyaç duyarsınız. En temiz yaklaşım, birden fazla PHP-FPM havuzu çalıştırmaktır:

      # Start PHP-FPM for multiple versions
      sudo systemctl start php7.4-fpm
      sudo systemctl start php8.1-fpm
      sudo systemctl start php8.2-fpm

      Ardından her Nginx sanal ana bilgisayarını farklı bir FPM soketini kullanacak şekilde yapılandırın:

      # Site A — PHP 8.2
      server {
          server_name site-a.com;
          root /var/www/site-a;
          location ~ .php$ {
              fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
          }
      }
      
      # Site B — PHP 7.4 (legacy application)
      server {
          server_name site-b.com;
          root /var/www/site-b;
          location ~ .php$ {
              fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
          }
      }

      6. Yöntem 4: php.ini Aracılığıyla PHP Sürümünü Değiştirme {#phpini-method}

      Bazı barındırma ortamlarında, özellikle CGI veya FastCGI PHP işleyicileri kullananlar, web sitenizin kök dizinine yerleştirilen özel bir php.ini dosyası aracılığıyla PHP davranışını — ve bazen hatta sürümünü — etkileyebilirsiniz.

      Özel php.ini Oluşturma

      1. Web sitenizin kök dizininde (public_html) php.ini adlı bir dosya oluşturun.
      2. Yapılandırma yönergelerinizi ekleyin:
      ; Custom PHP configuration
      memory_limit = 256M
      upload_max_filesize = 64M
      post_max_size = 64M
      max_execution_time = 300
      max_input_vars = 3000
      date.timezone = "UTC"

      > Not: Bu yöntem PHP *ayarlarını* kontrol eder, mutlaka PHP *sürümünü* değil. php.ini aracılığıyla sürüm seçimi yalnızca belirli barındırma kurulumlarında mümkündür. Tam sürüm kontrolü için yukarıda açıklanan cPanel, .htaccess veya komut satırı yöntemlerini kullanın.

      7. Etkin PHP Sürümünüzü Nasıl Doğrulayabilirsiniz {#verify}

      Herhangi bir değişiklik yaptıktan sonra, her zaman doğru PHP sürümünün etkin olduğunu doğrulayın. Bunu yapmanın birkaç yolu vardır:

      Yöntem A: phpinfo() Test Sayfası Oluşturun

      1. Web kök dizininizde (public_html) phpinfo.php adlı yeni bir dosya oluşturun.
      2. Aşağıdaki içeriği ekleyin:
      <?php
      phpinfo();
      ?>
      1. Tarayıcınızda https://yourdomain.com/phpinfo.php dosyasına gidin.
      2. Sayfa, kapsamlı PHP yapılandırma bilgilerini görüntüleyecektir. PHP Sürümü en üstte gösterilir.

      > Güvenlik Uyarısı: Test ettikten sonra bu dosyayı hemen silin. phpinfo() çıktısı, saldırganların yardımcı olabilecek hassas sunucu yapılandırma ayrıntılarını ortaya çıkarır.

      Yöntem B: Komut Satırı Aracılığıyla Kontrol Edin (SSH)

      php --version
      # or
      php -v

      Beklenen çıktı:

      PHP 8.2.10 (cli) (built: Sep  5 2023 08:12:49) (NTS)
      Copyright (c) The PHP Group
      Zend Engine v4.2.10, Copyright (c) Zend Technologies
          with Zend OPcache v8.2.10, Copyright (c), by Zend Technologies

      Yöntem C: Basit PHP Betiği Aracılığıyla Kontrol Edin

      Daha az ayrıntılı bir kontrol için, tam phpinfo() yerine bu minimal betiği kullanın:

      <?php
      echo 'PHP Version: ' . PHP_VERSION;
      echo '<br>PHP Major Version: ' . PHP_MAJOR_VERSION;
      echo '<br>PHP Minor Version: ' . PHP_MINOR_VERSION;
      ?>

      Yöntem D: WordPress Admin Aracılığıyla Kontrol Edin (WordPress Siteleri için)

      WordPress panonuzda:

      1. Araçlar → Site Sağlığı‘na gidin.
      2. Bilgi sekmesini tıklayın.
      3. Sunucu bölümünü genişletin.
      4. PHP sürümü‘nü arayın.

      8. PHP Sürümlerini Değiştirdikten Sonra Yaygın Hatalar {#common-errors}

      PHP sürümlerini değiştirmek bazen sorunlara neden olabilir. İşte en yaygın sorunlar ve bunları nasıl çözeceğiniz:

      Hata 1: Beyaz Ölüm Ekranı (WSOD) veya Boş Sayfa

      Neden: Bir eklenti, tema veya özel kod, yeni PHP sürümü ile uyumlu olmayan sözdizimi veya işlevler kullanır.

      Çözüm:

      • wp-config.php dosyasına ekleyerek WordPress hata ayıklama modunu etkinleştirin:
        define('WP_DEBUG', true);
        define('WP_DEBUG_LOG', true);
        define('WP_DEBUG_DISPLAY', false);
      • Belirli hata iletileri için /wp-content/debug.log dosyasını kontrol edin.
      • Sorunu izole etmek için tüm eklentileri devre dışı bırak
      15%

      Tüm Hosting Hizmetlerinde %15 indirim

      Becerilerini test et ve herhangi bir hosting planında İndirim kazan

      Kodu kullanın:

      Skills
      Başlayın