Ana Sayfa Yardım Merkezi PHP 5.3 Hataları
PHP 5.3 Hataları

Deprecated: Assigning the return value of new by reference is deprecated in Hatası ve Çözümü

4 dakika okuma Güncel bilgi
Yardım Merkezine Dön

PHP Sürümü Yükseltildikten Sonra vBulletin'de Görülen "Deprecated" Hataları

PHP sürümünü yükselttikten sonra eski vBulletin sürümlerinde çeşitli uyumluluk sorunlarıyla karşılaşabilirsiniz. Özellikle vBulletin 3.x ve bazı eski 4.x sürümleri, güncel PHP sürümlerinde kaldırılan veya kullanımdan kaldırılan (Deprecated) fonksiyonları içerdiğinden hata mesajları görüntülenebilir ya da forum düzgün çalışmayabilir.

Önemli Bilgi

Bu rehber yalnızca eski vBulletin sürümleri için hazırlanmıştır. Güvenlik, performans ve PHP uyumluluğu açısından mümkün olan en kısa sürede desteklenen güncel bir vBulletin sürümüne yükseltme yapmanız önerilir.

Karşılaşılabilecek Hata

PHP sürümü yükseltildikten sonra aşağıdaki hata mesajlarından biri görüntülenebilir.

Deprecated: Assigning the return value of new by reference is deprecated

Bu hata, eski PHP sözdiziminde kullanılan referanslı nesne oluşturma yönteminin yeni PHP sürümlerinde artık desteklenmemesinden kaynaklanmaktadır.

Geçici Çözüm

Eğer kısa vadede vBulletin sürümünü güncelleme imkânınız yoksa aşağıdaki işlemleri uygulayabilirsiniz.

  1. FTP veya hosting Dosya Yöneticisi ile ilgili PHP dosyasını bilgisayarınıza indirin.
  2. Herhangi bir değişiklik yapmadan önce dosyanın yedeğini alın.
  3. Dosyayı Notepad++ veya UTF-8 desteğine sahip bir metin düzenleyici ile açın.
  4. Hata mesajında belirtilen satırı bulun.
  5. Aşağıdaki ifadeyi aratın.
=& new

Uygun olduğu durumlarda ifadeyi aşağıdaki şekilde düzenleyin.

= new

Dosyayı kaydederek tekrar sunucuya yükleyin ve forumun düzgün çalıştığını kontrol edin.

Bilgilendirme

Bu yöntem yalnızca belirli Deprecated uyarıları için geçici bir çözümdür. PHP 7.x ve PHP 8.x sürümlerinde kaldırılan diğer fonksiyonlar nedeniyle farklı uyumluluk sorunları da yaşanabilir.

Hata Mesajlarını Gizlemek

Yalnızca hata mesajlarının ziyaretçilere gösterilmesini engellemek istiyorsanız aşağıdaki PHP kodu kullanılabilir.

ini_set('display_errors', 0);
Dikkat

Bu işlem yalnızca hata mesajlarının ekranda görünmesini engeller. Yazılımda bulunan uyumluluk sorunlarını ortadan kaldırmaz ve kalıcı çözüm olarak değerlendirilmemelidir.

Kalıcı Çözüm Nedir?

En doğru çözüm, kullandığınız vBulletin sürümünü güncel PHP sürümünü destekleyen bir sürüme yükseltmektir. Güncel sürümler yalnızca PHP uyumluluğu sağlamakla kalmaz, aynı zamanda güvenlik açıklarını kapatarak daha kararlı bir kullanım sunar.

Öneri

Hosting hesabınızda PHP sürümünü yükseltmeden önce mümkünse sitenizin bir yedeğini alın ve değişikliği test ortamında deneyin. Böylece canlı yayındaki olası kesintilerin önüne geçebilirsiniz.

Sık Sorulan Sorular

Bu hata yalnızca vBulletin'de mi görülür?

Hayır. Eski PHP sürümleri için geliştirilmiş birçok CMS, forum yazılımı ve özel PHP uygulamasında benzer Deprecated uyarıları görülebilir.

PHP hata mesajlarını kapatmak sorunu çözer mi?

Hayır. Hata mesajlarını gizlemek yalnızca uyarıların görüntülenmesini engeller. Yazılımın uyumsuz kodları çalışmaya devam edeceğinden farklı hatalar oluşabilir.

PHP 8 kullanıyorsam bu yöntem yeterli olur mu?

Hayır. PHP 8 ile birlikte birçok eski fonksiyon tamamen kaldırılmıştır. Bu nedenle yalnızca =& new ifadesini değiştirmek yeterli olmayabilir.

Sonuç

PHP sürümü yükseltildikten sonra görülen Deprecated hataları, genellikle eski vBulletin sürümlerinin güncel PHP sürümleriyle tam uyumlu olmamasından kaynaklanır. Geçici düzenlemeler kısa vadede çözüm sağlayabilse de uzun vadede en güvenli yöntem yazılımı güncel ve desteklenen bir sürüme yükseltmektir.

İSİMKAYIT Yardım Merkezi

Bu makalede PHP sürümü yükseltildikten sonra eski vBulletin sürümlerinde görülebilen Deprecated hatalarının nedenleri, uygulanabilecek geçici çözümler ve önerilen kalıcı yöntemler açıklanmıştır. PHP sürüm yönetimi, hosting uyumluluğu ve web uygulaması yönetimi hakkında daha fazla bilgi almak için İSİMKAYIT Yardım Merkezi'ndeki diğer teknik rehberlerimizi inceleyebilirsiniz.

Bu makale yardımcı olmadı mı? Destek ekibimizle iletişime geçin veya 0850 290 3344 numaralı hattı arayın.

Ürün sepete eklendi!