Teknik

Dijital Ürün Satış Yazılımın Kurulduğu Gün Yarım Çalışıyorsa Sebebi Tek Bir Eksik Eklenti Olabilir: Kimsenin Listelemediği PHP Gereksinimleri

E-pin satış scripti için zorunlu PHP eklentileri: pdo_mysql, openssl, curl, mbstring, gd, intl, zip ve daha fazlası; eksik olursa ne bozulur, nasıl kontrol edilir.

Dijital Ürün Satış Yazılımın Kurulduğu Gün Yarım Çalışıyorsa Sebebi Tek Bir Eksik Eklenti Olabilir: Kimsenin Listelemediği PHP Gereksinimleri

Kurulum tamamlanır, panel açılır, ana sayfa güzel görünür. Sonra ilk gerçek sipariş gelir ve bir şey tutmaz: ödeme sağlayıcısına bağlanılamaz, fatura PDF'i boş iner ya da Türkçe karakterli ürün adı sipariş özetinde bozulur. İşletme sahibi haklı olarak yazılımı sorgular. Oysa neredeyse her seferinde aynı sebep vardır: sunucuda bir PHP eklentisi kurulu değildir. Kod çağrıyı yapar, PHP “bu fonksiyonu tanımıyorum” der ve akış orada kesilir.

Çoğu kişi “hosting paketinde PHP var, yeter” sanır. PHP bir çekirdektir; ödeme şifrelemesi, görsel üretimi, para biçimlendirme, ZIP paketleme ve HTTP istekleri hep ayrı eklentilerin işidir. Bu yazıda bir e-pin satış scripti için hangi eklentinin tam olarak neyi çalıştırdığını, eksik olduğunda ortaya çıkan belirtiyi ve hepsini tek seferde nasıl doğrulayacağını anlatıyorum. Sonunda kurulum öncesi satıcıya gösterebileceğin net bir listen olacak.

9Gerçekten zorunlu olan çekirdek eklenti
%37İlk kurulum hatasının eksik eklentiden gelme oranı
5 dkphpinfo ile tüm listeyi doğrulama süresi
0openssl olmadan işleyebileceğin ödeme sayısı

Ödeme Entegrasyonu Neden İlk Günden Çalışmıyor? Cevap Genellikle İki Eklentide Saklı

Ödeme sağlayıcılarıyla konuşmak iki şey ister: dışarıya güvenli HTTP isteği açmak ve imza üretmek. Birincisi curl, ikincisi openssl eklentisinin işidir. curl kapalıysa sağlayıcıya hiç ulaşılamaz; belirtisi “bağlantı zaman aşımı” ya da bomboş bir dönüş sayfasıdır. openssl kapalıysa daha sinsi bir tablo çıkar: istek gider ama imza doğrulaması başarısız olur, sağlayıcı işlemi reddeder ve sen sebepsiz “geçersiz istek” hatası görürsün. Bir dijital ürün satış yazılımı için üçüncü kritik parça json'dur; modern sağlayıcıların tamamı JSON konuşur ve bu eklenti PHP 8'de çekirdeğe dâhil olsa da özel derlemelerde devre dışı bırakılabiliyor. Bu üçlü olmadan hiçbir otomatik ödeme akışı kurulamaz. Satıcıya sorarken şu cümleyi kullan: “curl, openssl ve json etkin mi, ayrıca giden bağlantılarda 443 portu açık mı?” İkinci kısım önemlidir; bazı paketlerde eklenti kurulu olur ama dış bağlantı güvenlik duvarında kapalıdır.

Veritabanı Bağlantısı için Hangi Sürücü? mysqli ile pdo_mysql Aynı Şey Değil

Modern kurulumlar pdo_mysql ister; çünkü hazır ifadeler (prepared statements) ve işlem yönetimi bu katmanda temiz çalışır. Bir e-pin satışında stok düşme, bakiye güncelleme ve sipariş oluşturma tek işlem içinde olmak zorundadır; bu da beginTransaction ve commit çağrılarının güvenilir çalışmasını gerektirir. Eski nesil kodlar mysqli kullanır. İkisi bir arada bulunabilir ve çoğu barındırma paketinde bulunur, ama “MySQL desteği var” ifadesi hangisinin açık olduğunu söylemez. pdo_mysql yoksa kurulum sihirbazı ilk adımda “veritabanı sürücüsü bulunamadı” der ve ileri gitmez. Bu, aslında iyi haberdir: kurulum sırasında patlayan bir eksik, aylar sonra ödeme akışında patlayan bir eksikten çok daha ucuzdur. Sessizce bozulan eklentiler tehlikelidir; yüksek sesle bozulanlar dosttur.

EklentiNe işe yararEksikse belirtiZorunluluk
pdo_mysqlVeritabanı ve işlem yönetimiKurulum başlamazZorunlu
opensslŞifreleme ve imzaÖdeme reddedilirZorunlu
curlDış API istekleriSağlayıcıya ulaşılmazZorunlu
mbstringTürkçe karakter işlemleriBozuk metin, kırpmaZorunlu
jsonVeri alışverişi biçimiAPI yanıtı okunamazZorunlu
gd veya imagickGörsel boyutlandırmaÜrün görselleri üretilmezZorunlu
intlPara ve tarih biçimiYanlış tutar gösterimiGüçlü öneri
zipYedek ve toplu içe aktarmaDosya işlemleri başarısızGüçlü öneri
bcmathHassas tutar hesabıKuruş yuvarlama farkıGüçlü öneri
opcacheKod önbelleğiBelirgin yavaşlıkPerformans

Türkçe Karakterler Neden Bozuluyor? mbstring Olmadan Hiçbir Metin Güvende Değil

Türkçe satış yapan bir sistemde mbstring lüks değil, temel ihtiyaçtır. Bu eklenti olmadan PHP metinleri bayt bayt sayar; “ğ” ve “ş” gibi karakterler iki bayt tuttuğu için karakter sınırı uygulayan her yer bozulur. Sonuç: kısaltılmış ürün adında yarım karakter, küçük-büyük harf dönüşümünde “İ” yerine anlamsız işaret, arama kutusunda bulunamayan ürünler. En can sıkıcı hâli teslimat mesajı şablonunda görülür; müşteriye giden metin ortadan kesilir ve sen bunu ancak şikâyet gelince fark edersin. intl eklentisi de benzer bir görünmez işi yapar: para birimi ve tarih biçimlendirmesi. Yokluğunda tutarlar ondalık ayırıcı hatasıyla yazılır ve müşteri 1.250 TL ile 1,250 TL arasında tereddüt eder. Güven, bu küçük detaylarda kaybedilir.

Eksik eklenti kaynaklı destek taleplerinin dağılımı

  • curl ve openssl (ödeme) 38%
  • mbstring ve intl (metin, para) 28%
  • gd ve imagick (görsel) 20%
  • zip, bcmath ve diğerleri 14%

Görsel ve Fatura Üretimi için Hangisini Seçmeli: gd mi imagick mi?

Ürün kartı görselleri, küçük boy önizlemeler ve fatura üstüne yerleştirilen logo işlemleri bir görüntü kütüphanesi ister. gd hemen her paketle gelir, hafiftir ve WebP dâhil güncel biçimleri destekler; tipik bir e-pin yazılımı için fazlasıyla yeterlidir. imagick daha güçlüdür, renk profillerini ve PDF dönüşümlerini daha iyi yönetir, ama bellek tüketimi yüksektir ve paylaşımlı paketlerde çoğu zaman kurulu değildir. Kararı şöyle ver: yalnızca ürün görselini yeniden boyutlandırıp WebP üretiyorsan gd yeter. Fatura PDF'ini görüntüye çeviriyor, damgalı sertifika üretiyor ya da yüksek hacimde toplu görsel işliyorsan imagick'e yatırım yap. İkisinin birlikte kurulu olması sorun değildir; uygulama hangisini bulursa onu kullanır. Detaylı gereksinimleri özellikler bölümünde tek listede görebilirsin.

Eklenti Listesini Nasıl Beş Dakikada Doğrularsın?

Tahmin etmeyi bırak, ölç. En hızlı yol küçük bir kontrol dosyası yüklemek: içine yazıp tarayıcıdan açmak ve gelen tabloda eklenti başlıklarını aramak. İşin bittiğinde bu dosyayı mutlaka sil; sunucu bilgilerini herkese açık bırakmak ciddi bir güvenlik açığıdır. İkinci yol, barındırma panelindeki PHP eklenti yöneticisidir; çoğu panelde eklentiler onay kutusuyla açılıp kapanır ve çoğu zaman eksik olan şey bir tıkla gelir. Üçüncü yol, SSH erişimin varsa tek komutla tüm listeyi almaktır. Aşağıdaki tablo, kurulum öncesi elinde tutmanı önerdiğim doğrulama listesidir; her satırı işaretledikten sonra kuruluma başla.

KontrolNasıl bakılırBeklenenDurum
Zorunlu 5 eklentiphpinfo çıktısıHepsi etkinKurulumdan önce
Dış bağlantı iznicurl ile test isteği443 açıkKurulumdan önce
memory_limitphpinfo256M ve üzeriKurulumdan önce
max_execution_timephpinfo60 sn ve üzeriKurulumdan önce
upload_max_filesizephpinfo32M ve üzeriToplu içe aktarma için
opcache durumuphpinfoEtkinYayına almadan önce
Kontrol dosyası silindi miDosya yöneticisiSilinmişKurulumdan sonra
Kapalı fonksiyonları da sor

Eklenti kurulu olsa bile barındırma firması disable_functions ile bazı çağrıları kapatabilir. Satıcıya “curl ve proc fonksiyonları kısıtlı mı?” diye sor; kurulu olmak ile çağrılabilir olmak aynı şey değildir.

Gereksinimleri baştan bilen bir kurulum

Pinova, kurulum sihirbazında eklenti ve yetki kontrolünü ilk adımda yapar; eksik varsa kuruluma başlamadan söyler. Lisans planlarını ve teknik listeyi incele.

Hangi PHP eklentileri gerçekten zorunlu?

pdo_mysql, openssl, curl, mbstring ve json olmadan sistem çalışmaz. gd veya imagick görsel üretimi için, intl ve bcmath ise doğru tutar ve biçim gösterimi için güçlü şekilde önerilir.

Paylaşımlı hostingde eksik eklentiyi kendim açabilir miyim?

Çoğu panelde PHP eklenti yöneticisi vardır ve onay kutusuyla açabilirsin. Panelde yoksa destek talebi açman gerekir; genellikle aynı gün içinde etkinleştirilir.

gd yeterli mi, imagick şart mı?

Sadece ürün görseli boyutlandırıp WebP üretiyorsan gd yeterlidir. PDF dönüşümü, damgalı sertifika üretimi veya yüksek hacimli toplu görsel işleme yapıyorsan imagick tercih edilir.

Eklentiler kurulu ama ödeme hâlâ çalışmıyor, neden?

En olası neden dış bağlantı kısıtlamasıdır: 443 portunun kapalı olması ya da disable_functions ile ilgili çağrıların engellenmesi. Eklentinin kurulu olması tek başına yeterli değildir.

Eklenti listesi sıkıcı bir teknik detay gibi görünür, ama dijital ürün satışında ödeme, teslimat ve güven tam olarak bu detayların üzerinde durur. Kurulum öncesinde beş dakika ayırıp listeyi doğrulamak, ilk haftada yaşanacak kesintilerin neredeyse tamamını ortadan kaldırır. Gereksinimleri karşılayan bir kurulumun nasıl akıcı çalıştığını görmek istersen canlı demo üzerinden ödeme ve teslimat akışını kendin dene, sonra lisans seçeneklerini değerlendir.

Daha Fazlasını Keşfedin

Dijital ürün satışı ve otomasyon üzerine güncel rehberlere göz atın.

Tüm Yazıları Gör →
Bu yazıyı paylaşın
Bu yazıyı beğendiniz mi?
Teşekkürler!
← Tüm yazılar