İçindekiler
-
Giriş
-
Dolibarr ve PHP Arasındaki İlişki
-
Dolibarr için Desteklenen PHP Sürümleri (2023–2025)
-
Dolibarr'da Yaygın PHP Uyumluluk Sorunları
-
Dolibarr ile PHP Sorunlarının Tanılanması
-
Hata Günlüklerini ve Uyarı Türlerini Anlama
-
Dolibarr için PHP'yi Güvenli Şekilde Yükseltme veya Düşürme
-
Dolibarr için PHP Yapılandırmasının Ayarlanması
-
PHP Değişikliklerinden Kaynaklanan Dolibarr Hatalarının Düzeltilmesi
-
Özel Modüller ve Şablonlar PHP Güncellemeleriyle Nasıl Bozulur
-
PHP Uyumluluğu için Geliştirme En İyi Uygulamaları
-
Dolibarr Örneğinizi Geleceğe Nasıl Hazırlarsınız
-
Son Düşüncelerimiz
1. Giriş
Dolibarr ERP & CRM, serbest çalışanların, KOBİ'lerin ve hatta büyük kuruluşların gelişen ihtiyaçlarını karşılamak için tasarlanmış sağlam, açık kaynaklı bir iş yönetim platformudur. PHP kullanılarak oluşturulan Dolibarr, web sayfalarını işlemekten iş mantığını ve API uç noktalarını yürütmeye kadar her şey için tamamen PHP çalışma zamanına güvenir.
Bu nedenle, PHP sürüm uyumluluğu sadece teknik bir ayrıntı değil; performansı, işlevselliği ve istikrarı doğrudan etkileyebilecek temel bir unsurdur.
Bu makalede, PHP ve Dolibarr'ın nasıl etkileşime girdiğini inceleyecek, yaygın uyumluluk sorunlarını belirleyecek, tanılama ve düzeltmeleri ele alacak ve sisteminizi hem çalışır durumda tutmak hem de korumak için en iyi uygulamaları sunacağız. güncel ve istikrarlı.
2. Dolibarr ve PHP Arasındaki İlişki
Dolibarr tamamen PHP ile oluşturulmuştur. Her bir özellik, modül ve kullanıcı arayüzü bileşeni PHP tabanlı bir yürütme motoruyla işlenir. Bu, sunucunuzda çalışan PHP sürümü anlamına gelir. Dolibarr'ın desteklediği şeylerle uyumlu olmalı.
PHP sürümünüz şuysa: çok yaşlı, Dolibarr başlamayabilir veya önemli özellikleri kaçırabilirsiniz. Eğer çok yeni, beklenmeyen hatalarla, kullanım dışı kalmış işlevlerle ve bozuk modüllerle karşılaşabilirsiniz.
PHP yükseltmeleri şunları sunar:
-
Performans iyileştirmeleri
-
Fonksiyonların kullanım dışı bırakılması veya kaldırılması
-
Varsayılan davranışta değişiklikler (örneğin, katı yazım, hata işleme)
-
Uzantılar veya yapılandırma değişiklikleri
-
Güvenlik düzeltmeleri
Dolibarr sürümleri, daha yeni PHP sürümlerini desteklemek için düzenli olarak güncellenir, ancak bu değişiklikleri dikkatli bir şekilde takip etmiyorsanız, kendinizi bir PHP güncellemesinden sonra bozulan örnek.
3. Dolibarr için Desteklenen PHP Sürümleri (2023–2025)
İşte Dolibarr'ın son sürümleri arasındaki PHP uyumluluğuna dair genel bir bakış:
| Dolibarr Sürümü | En az PHP | Önerilen PHP | Maksimum Test Edilen PHP |
|---|---|---|---|
| 13.x – 14.x | PHP 7.0 | PHP 7.4 | PHP 8.0 |
| 15.x – 17.x | PHP 7.2 | PHP 8.0 | PHP 8.1 |
| 18.x – 20.x | PHP 7.4 | PHP 8.0 / 8.1 | PHP 8.1 |
| 21.x – 22.x | PHP 8.0 | PHP 8.1 + | PHP 8.2 / 8.3 |
| Gelecek 23.x+ | PHP 8.1 | PHP 8.2 + | PHP 8.3 + |
Hatırlatma: PHP'yi yükseltmeden önce mutlaka kullandığınız Dolibarr sürümünün yayın notlarına bakın.
4. Dolibarr'da Yaygın PHP Uyumluluk Sorunları
PHP sürümleri Dolibarr'ın gereksinimleriyle doğru şekilde uyumlu olmadığında aşağıdaki sorunlar ortaya çıkabilir:
4.1 Önemli Hatalar
-
Örnek:
Bu durum, Dolibarr kodunun PHP'nin yeni sürümlerinde (örneğin PHP 8.0 ve üzeri) kaldırılan bir fonksiyonu çağırması durumunda gerçekleşir.
4.2 Kullanımdan Kaldırma Uyarıları
-
Örnek:
Bu uyarı uygulamanın çökmesine neden olmaz ancak günlükleri karmaşıklaştırır ve gelecekteki arıza noktalarını gösterebilir.
4.3 Modül Uyumsuzluğu
-
PHP 7.x için yazılan üçüncü taraf modülleri PHP 8.x altında bozulabilir
-
Güncel olmayan işlevleri kullanan özel PDF şablonları boş veya bozuk belgeler oluşturabilir
4.4 Beklenmeyen Davranış
-
Bozuk yönlendirmeler
-
Oturum sorunları (örneğin, sürekli oturum kapatmalar)
-
API kimlik doğrulama hataları
Bunların izlenmesi daha zordur ancak genellikle şunlardan kaynaklanır: yeni PHP sürümlerinde değiştirilen varsayılanlar veya daha katı tür işleme.
5. Dolibarr ile PHP Sorunlarının Tanılanması
Uyumluluk sorunlarını çözmenin ilk adımı, sebebini doğru bir şekilde belirlemek.
5.1 Hata Bildirimini Etkinleştir
In htdocs/main.inc.php, hata çıktısını etkinleştir:
Bu, test sırasında uyarıları, bildirimleri ve ölümcül hataları doğrudan tarayıcınızda görmenizi sağlayacaktır.
5.2 PHP Günlüklerini Kontrol Edin
PHP günlükleri genellikle tarayıcı çıktısından daha fazla ayrıntı içerir.
Tipik lokasyonlar:
-
/var/log/php-fpm.log -
/var/log/apache2/error.log -
/var/log/nginx/error.log -
/var/log/php/error.log(Paylaşılan Evsahipliği)
İlgili son girdileri kontrol edin undefined functions, deprecated syntaxya da memory_limit ihlalleri.
5.3 phpinfo()'yu kullanın
Dolibarr kök dizininde basit bir PHP dosyası oluşturun:
Tarayıcınız üzerinden erişin ve onaylayın:
-
PHP sürümü
-
Yüklenen uzantılar
-
Yapılandırma değerleri (
memory_limit,upload_max_filesizeVb.) -
Oturum ve saat dilimi ayarları
6. Hata Günlüklerini ve Uyarı Türlerini Anlamak
PHP'nin ürettiği farklı hata türlerini anlamak, etkili sorun gidermenin anahtarıdır. İşte PHP uyumsuzluğu olduğunda Dolibarr'da görülen en yaygın hata türlerinin kısa bir dökümü.
6.1 Önemli Hatalar
Bunlar yürütmeyi hemen durdurur. Dolibarr sayfaları boş görünebilir veya yarıda kesilebilir.
Örnek:
6.2 Uyarılar
Uyarılar bir sorun olduğunu gösterir, ancak sayfa genellikle yine de yüklenir.
Örnek:
Bunlar genellikle üçüncü taraf kodlarının yeni PHP sürümleri için güncellenmediğinde ortaya çıkar.
6.3 Bildirimleri
Bildirimler özensiz veya kullanım dışı kalmış kodlara işaret ediyor.
Örnek:
Bunlar bugün işlevselliği etkilemeyebilir ancak gelecekteki PHP sürümlerinde hataya dönüşebilir.
6.4 Kullanımdan Kaldırılan Bildirimler
PHP yakında kaldırılacak özellikleri işaretler. Bu bildirimler erken uyarı sisteminiz.
Örnek:
Dolibarr çekirdeği genellikle her sürümde temizlenirken, eski modüller ve özel kodlar genellikle bu bildirimlere neden olur.
7. Dolibarr için PHP'yi Güvenli Şekilde Yükseltme veya Düşürme
PHP sürümünüzü değiştirmek sorunları çözebilir veya yaratabilir. Önemli olan bunu metodik bir şekilde yapmaktır.
7.1 PHP'yi Ne Zaman Yükseltmelisiniz
Aşağıdaki durumlarda yükseltin:
-
Artık desteklenmeyen eski bir PHP sürümü (örneğin 7.2, 7.3) çalıştırıyorsunuz
-
Daha iyi performansa veya güvenlik özelliklerine ihtiyacınız var
-
Daha yeni bir Dolibarr sürümüne geçiyorsunuz (örneğin, 22.x+ PHP 8.0 veya üzerini gerektirir)
7.2 PHP'yi Ne Zaman Geriye Almalısınız
Aşağıdaki durumlarda notunuzu düşürün:
-
Eski Dolibarr sürümlerini kullanıyorsunuz (örneğin, v12–v14)
-
Özel modüller PHP 8.x ile uyumlu değildir
-
PHP güncellemesinden sonra ölümcül hatalarla karşılaşıyorsunuz
Hatırlatma: PHP'yi üretimde değiştirmeden önce her zaman bir hazırlama ortamında test edin.
7.3 PHP Sürümü Nasıl Değiştirilir (Linux CLI)
Ubuntu/Debian için:
CentOS/RHEL için:
Önceki bir sürüme geri dönmek için:
Web sunucusunu yeniden başlatın:
Değişiklikten sonra Dolibarr'ın düzgün yüklendiğinden ve tüm modüllerin erişilebilir olduğundan emin olun.
8. Dolibarr için PHP Yapılandırmasının Ayarlanması
Doğru PHP sürümü kullanılsa bile, kötü ayarlar performansın yavaşlamasına veya beklenmeyen hatalara neden olabilir.
Düzenle php.ini Bu ayarları ince ayarlamak için:
8.1 Gerekli Uzantıları Etkinleştir
Dolibarr birkaç PHP uzantısı gerektirir. Kullanım php -m aktif modülleri kontrol etmek için.
Şunların etkinleştirildiğinden emin olun:
-
pdo_mysql -
mbstring -
curl -
gd -
intl -
json -
fileinfo -
xml
Uzantıları şu şekilde etkinleştirin:
Daha sonra web sunucunuzu yeniden başlatın.
9. PHP Değişikliklerinden Kaynaklanan Dolibarr Hatalarının Düzeltilmesi
PHP sürüm uyuşmazlıklarından kaynaklanan belirli Dolibarr sorunlarını düzeltme yöntemi:
9.1 get_magic_quotes_gpc() Tanımsız
Bu fonksiyon PHP 8.0'da kaldırıldı.
sabit: Dolibarr'ı en azından v15.x sürümüne yükseltin veya özel modüllerdeki çağrıları yorum satırına alın.
9.2 Boş Faturalar veya Teklifler
Bu durum çoğunlukla PHP 8 ile uyumlu olmayan eski TCPDF veya DOMPDF sürümlerinden kaynaklanır.
sabit:
-
Özel PDF şablonlarını güncellenmiş olanlarla değiştirin
-
Yükseltme
lib/pdforlib/tcpdfdizinleri -
Öncesinde boşluk olmadığından emin olun
<?phpşablonlardaki etiketler
9.3 API Kimlik Doğrulaması Başarısız
Daha yeni PHP sürümleri başlık ayrıştırmayı daha sıkı bir şekilde ele alabilir.
sabit:
-
API anahtarının doğru şekilde iletildiğini doğrulayın
-
İçerik türü başlıklarının ayarlandığını onaylayın
-
Dolibarr yapılandırmasında web hizmetlerini yeniden etkinleştirin
9.4 Bozuk Modüller veya Menüler
PHP yükseltmesinden sonra menüler kaybolursa veya modüller yüklenemezse, bunun nedeni şunlar olabilir:
-
Kullanım dışı bırakılmış sözdizimi (örneğin süslü parantez dizisi ofsetleri)
-
Sınıflardaki eski tip oluşturucular
-
Eksik veya değiştirilmiş fonksiyon çağrıları
sabit:
-
Günlükleri kontrol et
-
Sorunlu modülü devre dışı bırakın
-
Daha yeni bir sürüm varsa modülü güncelleyin
-
PHP 8.x güncellemesi için modül geliştiricisiyle iletişime geçin
10. Özel Modüller ve Şablonlar PHP Güncellemeleriyle Nasıl Bozulur?
Dolibarr çekirdeği hızla evrimleşir, ancak özel modüller genellikle geride kalır. İşte tipik olarak bozulanlar:
10.1 Eski PHP Sözdizimi
PHP 5 veya 7 için yazılan özel modüller artık kullanım dışı olan sözdizimini kullanabilir.
-
create_function() -
each() -
Kısa açık etiketler (
<?yerine<?php) -
Sıkı olmayan karşılaştırma
Çözüm: PHP 8'in en iyi uygulamalarını kullanarak kodu yeniden düzenleyin ve bir hazırlama sunucusunda test edin.
10.2 Kullanımdan Kaldırılan Yapıcılar
Daha eski sınıf oluşturucuları, PHP 8'de artık geçerli olmayan sınıf adını kullanabilir:
Ile değiştirin:
10.3 Eski Çağrılar İçeren PDF Şablonları
Özel PDF fatura veya teklif şablonları genellikle DOMPDF veya TCPDF'nin yeni sürümleriyle çakışan eski yöntemleri veya işlevleri kullanır.
Çözüm:
-
Şablonu en son sürümü kullanarak yeniden oluşturun
pdf_model.class.phpyapı -
Tüm değişkenleri ve çıktı fonksiyonlarını doğrulayın
-
Tamponlanmış içerik dışında herhangi bir doğrudan yankı veya baskı ifadesinden kaçının
11. PHP Uyumluluğu için Geliştirme En İyi Uygulamaları
Dolibarr'ı geliştirenler veya genişletenler, mevcut ve gelecekteki PHP sürümleriyle uyumluluğu garantilemek için şu en iyi uygulamaları takip edebilirler.
Geliştirmede PHP 8+ kullanın
Üretimde eski sürümler kullanılsa bile, modüllerinizi her zaman en son PHP sürümleriyle test edin.
Kullanımdan Kaldırılan Özelliklerden Kaçının
PHP kılavuzunu veya şu araçları kullanarak kullanımdan kaldırma işlemlerini takip edin:
-
PHPStorm'un kod inceleme araçları
Mümkün Olduğunda Tip Bildirimlerini Kullanın
Tür güvenli kod, PHP sürüm değişikliklerine karşı daha dayanıklıdır.
Modülleri Doğru Şekilde Yapın
Dolibarr'ın modül iskeletini takip edin ve şunları beyan ettiğinizden emin olun:
-
Çengeller
-
İzinler
-
Menü girişleri
-
Dil dosyaları
Bu, PHP değişikliklerinden bağımsız olarak modülünüzün temiz bir şekilde entegre olmasını sağlar.
12. Dolibarr Örneğinizi Geleceğe Nasıl Hazırlarsınız
Her zaman LTS Sürümlerini Kullanın
Dolibarr'ın etiketli sürümlerine sadık kalın kararlı or LTS gerilemeleri önlemek için.
Yükseltmeden Önce Test Edin
Sürdürmek evreleme ortamı Yakında çıkacak PHP ve Dolibarr sürümleriyle birlikte.
Parça Uyumluluk Duyuruları
Dolibarr değişiklik günlükleri genellikle PHP desteği hakkında notlar içerir. Şunlara dikkat edin:
-
Minimum PHP sürüm değişiklikleri
-
Kullanımdan kaldırılan özellikler
-
Uyumluluğu bozan temel güncellemeler
Uyumluluk Kontrollerini Otomatikleştirin
Statik analiz araçlarını CI işlem hattınıza entegre edin:
-
PHPStan
-
Mezmur
-
PHP_CodeSniffer (PHPCaptaibility kurallarıyla birlikte)
13. Son Düşünceler
PHP uyumluluğu, küçük işletme sahiplerinden tam yığın geliştiricilere kadar her Dolibarr kullanıcısı için temel bir endişedir. Dolibarr, modern PHP özelliklerinin avantajlarından yararlanmak için evrimleştikçe (hız, güvenlik ve kod kalitesini artırarak) ortamınızı onunla birlikte evrimleştirmelisiniz.
Akıllı bir uyumluluk stratejisi şunları içerir:
-
devam ediyor desteklenen Dolibarr sürümleri
-
PHP'yi güncel tutmak—ama değil çok ileri
-
Sahneleme ortamlarında kapsamlı testler
-
Özel modülleri proaktif olarak güncelleme
-
PHP geliştirme en iyi uygulamalarını takip etmek
PHP ile Dolibarr arasındaki ilişkiye hakim olarak, ERP sisteminizin yalnızca işlevsel ve hızlı, Aynı zamanda dayanıklı ve geleceğe hazır.
