PHP Version Mismatch Hatası Nasıl Çözülür? Net Çözüm Adımları Yazdır

  • 0

Site bir PHP sürümüyle çalışıyor gibi görünürken CLI, cron ya da farklı bir domain başka sürüm kullanıyorsa “PHP version mismatch” hataları çıkar. Genelde PHP Selector, MultiPHP Manager ve CLI yolları birbiriyle uyuşmaz. Sorun bu: sistemde birden fazla PHP var ve farklı yerlerde farklı sürüm çalışıyor. Aşağıdaki adımları uygulayarak düzeltebilirsin.


Sorun şu:

Web tarafı başka, SSH/cron tarafı başka PHP sürümü kullanıyor. Bu yüzden eklentiler hata verir, ionCube uyumsuzluğu çıkar ya da CLI komutları çalışmaz. Aşağıdaki adımları uygulayarak düzelt.


Çözüm Adımları

1) Web tarafındaki PHP sürümünü netleştir

  • cPanel → Select PHP Version (CloudLinux kullanıyorsan)
    veya

  • WHM → MultiPHP Manager

Domainin hangi sürümü kullandığını kontrol et.

Ayrıca test dosyası oluştur:

public_html içine info.php ekle:

 
<?php phpinfo(); ?>
 

Tarayıcıdan aç ve sürümü not al.


2) SSH / CLI PHP sürümünü kontrol et

SSH ile:

 
php -v
 

veya

 
which php
 

Örnek çıktı:

 
/usr/bin/php
 

Bu genelde EA-PHP olur.
CloudLinux alt-PHP kullanıyorsan doğru yol şu tipte olmalı:

 
/opt/alt/php82/usr/bin/php
 

Web ve CLI sürümü aynı değilse mismatch var demektir.


3) Cron job doğru PHP yolunu kullansın

Cron satırını düzelt:

Yanlış örnek:

 
/usr/bin/php /home/KULLANICI/public_html/script.php
 

Doğru örnek (alt-PHP ile):

 
/opt/alt/php82/usr/bin/php /home/KULLANICI/public_html/script.php
 

Doğru yolu görmek için:

 
ls -d /opt/alt/php*
 

Kullandığın sürüme göre düzenle.


4) PHP Selector ile MultiPHP çakışmasını gider

CloudLinux kullanıyorsan genelde PHP Selector tercih edilir.

  • WHM → MultiPHP Manager

  • Domain bir EA-PHP sürümüne sabitlenmişse “inherit” yap.

  • PHP sürümünü cPanel içinden değiştir.

Tek yerden yönet. İkisini aynı anda karıştırma.


5) CageFS’i güncelle

Bazen PHP binary yolları CageFS içinde güncel değildir.

 
cagefsctl --force-update
cagefsctl --reinit
 

Sonra tekrar php -v kontrol et.


6) IonCube / Extension uyumsuzluğu varsa

Yanlış PHP sürümünde extension yüklenmiş olabilir.

Kontrol et:

 
php -m | grep ionCube
 

Web sürümünde var ama CLI’da yoksa yine mismatch vardır.
Çözüm: doğru alt-PHP binary yolunu kullan.


7) Composer kullanıyorsan

Composer farklı PHP ile çalışıyorsa hata verir.

Kontrol et:

 
composer -V
 

Gerekirse şu şekilde çalıştır:

 
/opt/alt/php82/usr/bin/php /usr/local/bin/composer install
 

Alternatif Çözüm (Daha teknik)

Tüm kullanıcı PHP ortamını yeniden oluştur:

 
cagefsctl --setup-cl-selector
cagefsctl --force-update
cagefsctl --reinit
 

Ardından kullanıcıdan yeniden oturum açmasını iste.

CloudLinux CloudLinux Lisansında Tam İzolasyon!

Hosting sunucunuzu Bad Neighbor etkisinden koruyun. LVE Manager ve CageFS özelliklerini sunan %100 güncellenebilir paylaşımlı CloudLinux lisansını ucuza kullanın.

Lisansı İncele

Bu cevap yeterince yardımcı oldu mu?


X
"Kripto ile ödemelerde %10 İndirim dönemi başladı!"

KAMPANYA KOMBO!

Kombo lisanslarda geçerli %25 İndirim fırsatını kaçırma!

İndirim Kodu: KOMBO25

Önemli Bilgilendirme: Kredi kartı ile yapılan ödemelerde fatura tutarına KDV (İşlem Ücreti) yansıtılmaktadır. Diğer ödeme yöntemlerinde ek ücret alınmaz.