WISECP, yeni nesil web hosting, sunucu yönetimi, alan adı tescili ve dijital hizmet otomasyonu sunan modern bir faturalandırma yazılımıdır. Kullanıcı dostu arayüzü, çoklu para birimi desteği ve Türkiye pazarına entegre ödeme ile SMS altyapıları sayesinde yaygın bir kullanım alanına sahiptir. Bir otomasyon yazılımı olarak WISECP'nin kalbi, arka planda düzenli aralıklarla çalışan zamanlanmış görev (cron job) motoruna dayanır.
Sistemde zamanlanmış görev doğru şekilde kurulmadığında ya da sunucu kaynaklı nedenlerle aksadığında; son ödeme tarihi yaklaşan faturaların bildirimleri gönderilemez, ödemesi tamamlanan siparişlerin sunucu kurulumları (cPanel, Plesk, sanal sunucu vb.) otomatik başlatılamaz, günü geçen hizmetler askıya alınamaz ve Türkiye Cumhuriyet Merkez Bankası (TCMB) üzerinden çekilen döviz kurları güncellenemez. Daha da önemlisi, sistem yedekleri ve otomatik bilet yanıtlayıcıları gibi operasyonel süreçler devre dışı kalır.
Bu ayrıntılı rehberde; WISECP otomasyon gereksinimlerini, yönetim panelinden cron komutunu almayı, cPanel, Plesk ve DirectAdmin üzerinde CLI kurulum adımlarını, HTTP URL tabanlı tetikleme seçeneğini, Sistem Sağlığı menüsü üzerinden çalışma doğrulamasını ve en sık karşılaşılan IonCube ile bellek hatalarının giderilmesini inceleyeceğiz. Ayrıca HTTP yönteminin taşıdığı kritik sınırları ve harici izleme çözümlerini ele alacağız.
Sürüm ve Kurulum Kontrolü ile Otomasyon İhtiyacı
WISECP mimarisinde zamanlanmış görev, sistemin periyodik nabız atışıdır. Yazılımın versiyonuna bağlı olarak otomasyon betiği tek bir giriş noktası üzerinden yönlendirilir. Çoğu standart kurulumda bu yol ana dizin altındaki cLink/cron rotasıdır. Faturalandırmayı WHMCS ile yürüten sistemlerde de aynı doğrulama mantığı geçerlidir; WHMCS cron job kurulum rehberindeki komut alma ve çalışma kontrolü adımlarını paralel okuyabilirsiniz.
Otomasyonun sağlıklı çalışabilmesi için sunucu ortamının bazı temel teknik gereksinimleri karşılaması zorunludur:
- PHP Sürümü ve IonCube Loader: WISECP kaynak kodları şifrelenmiş olduğundan, hem web sunucusunda hem de komut satırı arayüzünde (CLI) geçerli ve uyumlu bir IonCube Loader eklentisinin aktif olması gerekir. PHP tarafındaki genel zamanlanmış görev mantığını kavramak için PHP cron job kılavuzumuzu inceleyebilirsiniz.
- Gerekli PHP Kütüphaneleri: cURL, OpenSSL, PDO, mbstring ve intl uzantıları otomasyonun harici API'lerle (alan adı kayıt operatörleri, ödeme geçitleri, SMS servisleri) konuşabilmesi için şarttır.
- Dosya ve Klasör İzinleri: Otomasyon betiğinin sistem loglarını yazabilmesi ve önbellek dosyalarını temizleyebilmesi için
cLog,core/resources/cacheve depolama dizinlerinin yazma izinlerine (chmod 755 veya 775) sahip olması gerekir.
WISECP Yönetim Panelinden Otomasyon Komutunu Bulma
Her sunucunun dosya hiyerarşisi ve kullanıcı dizin yolları farklı olduğundan, komutu ezbere yazmak yerine WISECP yönetim panelinin sizin için ürettiği parametreleri kullanmanız en güvenli yaklaşımdır.
- WISECP yönetici paneline (Admin Dashboard) giriş yapın.
- Sol menüde yer alan Otomasyon Ayarları > Sistem sekmesindeki Crontab Kurulumu kartına tıklayın.
- Açılan sayfada iki farklı yöntem için hazırlanmış bağlantılar göreceksiniz:
- Komut Satırı (CLI):
/usr/bin/php -q /home/kullaniciadi/public_html/cLink/cron - Web Çağrısı (HTTP/cURL):
https://alanadiniz.com/cLink/cronya da güvenlik belirteçli özel URL.
- Komut Satırı (CLI):
- Panelde gösterilen CLI komutunu panoya kopyalayın. Burada yer alan
/home/kullaniciadi/public_html/ifadesi sitenizin gerçek sunucu kök dizinini temsil eder.
cPanel, Plesk ve Linux Shell Üzerinde CLI Kurulumu
WISECP otomasyonunu çalıştırmanın en performanslı ve önerilen yolu doğrudan işletim sisteminin cron tablosuna CLI komutu eklemektir. Farklı kontrol panellerindeki kurulum adımları şöyledir:
1. cPanel Üzerinde Cron Kurulumu
cPanel kullanan hosting veya sunucularda işlem adımları:
- cPanel arayüzüne giriş yapıp Gelişmiş başlığı altındaki Zamanlanmış Görevler (Cron Jobs) bağlantısını açın. Ayrıntılı arayüz ayarları için cPanel cron job rehberimize başvurabilirsiniz.
- Ortak Ayarlar listesinden "Her Dakika (* * * * *)" seçeneğini belirleyin.
- Komut alanına panelden aldığınız komutu yapıştırın:
/usr/local/bin/php -q /home/kullaniciadi/public_html/cLink/cron >/dev/null 2>&1 - Eğer MultiPHP kullanıyorsanız ve siteniz örneğin PHP 8.1 ile çalışıyorsa, sistem PHP'si yerine tam sürüm ikilisini yazın:
/usr/local/bin/ea-php81 -q /home/kullaniciadi/public_html/cLink/cron >/dev/null 2>&1 - Yeni Zamanlanmış Görev Ekle butonuna tıklayarak işlemi tamamlayın.
2. Plesk Panel Üzerinde Cron Kurulumu
Plesk barındırma ortamında Zamanlanmış Görevler (Scheduled Tasks) menüsüne girin. Detaylı Plesk parametreleri için Plesk cron job makalemizi inceleyin. Açılan ekranda "Görev Ekle" butonuna basın. Görev türünü "Komut çalıştır" seçip komut metnini girin ve çalışma sıklığını her dakika olacak şekilde ayarlayın.
3. DirectAdmin Üzerinde Kurulum
DirectAdmin panelinde Gelişmiş Özellikler altındaki Cron Görevleri bağlantısına tıklayın. DirectAdmin parametreleri hakkında bilgi edinmek için DirectAdmin cron job sayfamıza bakabilirsiniz. Burada dakika kutusuna *, saat, gün, ay ve haftanın günü kutularına * yazarak komutunuzu ekleyin.
4. SSH Terminali ile Doğrudan Crontab Tanımı
Kök erişimine (root) sahip bir Linux sunucu yönetiyorsanız ilgili sitenin kullanıcısına ait crontab dosyasını terminalden düzenleyebilirsiniz:
# Kullanıcının cron listesini düzenleme modunda açın
crontab -e -u kullaniciadi
# Aşağıdaki satırı ekleyip kaydedin
* * * * * /usr/bin/php -q /home/kullaniciadi/public_html/cLink/cron > /dev/null 2>&1
Alternatif Olarak HTTP Çağrısı ile Görev Tetikleme
SSH erişiminin bulunmadığı, paylaşımlı barındırma paketinde sistem komutlarının yasaklandığı veya sunucu sağlayıcısının CLI PHP yürütmesine izin vermediği senaryolarda WISECP, görevin bir web URL'si üzerinden tetiklenmesine olanak tanır.
Bu yöntemde kontrol paneli cron aracına bir PHP komutu yerine wget veya curl komutu tanımlanır:
# cURL ile arka planda tetikleme
* * * * * curl -s -L "https://alanadiniz.com/cLink/cron" >/dev/null 2>&1
# veya wget ile tetikleme
* * * * * wget -q -O - "https://alanadiniz.com/cLink/cron" >/dev/null 2>&1
HTTP yöntemi pratik bir alternatif sunsa da sunucunun web katmanı üzerinden işlediği için bazı kritik teknik sınırlamaları beraberinde getirir. Bu sınırlamaların detaylarını makalenin ilerleyen bölümlerinde ayrıntılı olarak tartışacağız.
İdeal Çalışma Sıklığı ve Zamanlanmış Görevlerin Dağılımı
WISECP, bünyesinde çok sayıda alt görevi koordine eden dinamik bir kuyruk yapısına sahiptir. Resmi kurulum belgesi cron girişinin her dakika çalıştırılmasını önerir; hangi alt görevlerin zamanı geldiğine WISECP karar verir. Faturalandırma dışındaki sipariş, stok ve pazarlama zamanlamalarının genel çerçevesini e-ticaret cron job rehberinde ayrıca ele alıyoruz:
- Her 1 Dakikada Bir (
* * * * *): Yoğun sipariş alan, anlık sanal pos ödemeleri ve canlı destek biletleri barındıran büyük ölçekli işletmeler için idealdir. Müşteriye anında SMS bildirimi gitmesi ve sunucu provizyonunun gecikmemesi sağlanır. - Beş Dakikaya Seyreltme: Resmi öneri her dakikadır; daha seyrek tetikleme, kuyruktaki fatura, yenileme ve bildirim işlerini geciktirebilir. Zaman ifadelerinin yapısını öğrenmek için crontab sözdizimi sayfamıza göz atabilirsiniz.
Cron çalıştığında WISECP sırasıyla şu görevleri yürütür:
- Fatura ve Ödeme Kontrolü: Süresi gelen hizmetlerin yenileme faturaları basılır, son ödeme günü geçen hesaplara hatırlatma e-postaları çıkartılır.
- Hizmet Askıya Alma ve Aktif Etme: Ödemesi geciken cPanel, Plesk veya DirectAdmin hesapları sunucu API'si üzerinden otomatik askıya alınır (Suspend). Ödemesi yapılanlar anında aktifleştirilir.
- Döviz Kuru Güncellemesi: TCMB veya belirlenen kur sağlayıcılarından anlık döviz kurları çekilerek ürün fiyatları güncellenir.
- E-posta ve SMS Kuyruğu: Toplu pazarlama veya sistem bildirimleri parça parça gönderilerek sunucunun spam listelerine girmesi önlenir.
- Destek Bileti Süre Kontrolleri: Yanıt verilmeyen veya çözüme kavuşmuş biletler otomatik olarak kapatılır.
Sistem Sağlığı ve Son Çalışma Durumunu Doğrulama
Cron job'u ekledikten sonra görevin gerçekten çalışıp çalışmadığını WISECP içerisinden doğrulamak son derece kolaydır.
WISECP yönetim panelinde Otomasyon ekranını açıp son işleri inceleyin. HTTP yöntemini kullanıyorsanız Otomasyon Ayarları > Sistem sekmesindeki kendi kendini test etme seçeneğini de kullanın:
- Son İşler: Kurulumdan birkaç dakika sonra otomasyon listesinde yeni iş kayıtlarının oluştuğunu doğrulayın.
- Çalışmama Durumu: Eksik cron girişi panelde kırmızı uyarı üretmeyebilir. İş listesi boş kalıyorsa sunucu cron girişini ve komut çıktısını kontrol edin.
Gecikme, IonCube ve PHP Hatalarının Çözümü
WISECP otomasyonunun çalışmaması genellikle sunucu yapılandırması kaynaklıdır. En sık karşılaşılan dört kritik sorun ve çözüm yöntemleri şunlardır:
1. CLI PHP Ortamında IonCube Loader Eksikliği
Web siteniz tarayıcıda sorunsuz açıldığı halde cron çalışmayabilir. Bunun temel sebebi, web sunucusu (PHP-FPM/Apache) IonCube yüklü bir PHP kullanırken, komut satırındaki (CLI) /usr/bin/php dosyasının farklı bir php.ini okuması ve IonCube uzantısına sahip olmamasıdır.
Belirti: Terminalde komut elle çalıştırıldığında şu hata alınır:
Site error: the ionCube PHP Loader needs to be installed to run this file.
Çözüm: Sunucudaki CLI PHP yapılandırma dosyasına (örneğin /etc/php/8.1/cli/php.ini) zend_extension = ioncube_loader_lin_8.1.so satırını ekleyin veya panelinizdeki tam ea-php yolunu kullanın.
2. Bellek Yetersizliği ve Zaman Aşımı (Memory Limit Exceeded)
Çok sayıda alan adı ve hizmet kaydı barındıran veritabanlarında fatura oluşturma işlemi PHP bellek limitine takılabilir:
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 32768 bytes)
Çözüm: CLI için bellek limitini en az 256 MB veya 512 MB olarak güncelleyin. Komutu şu şekilde çalıştırarak anlık bellek artışı da sağlayabilirsiniz: php -d memory_limit=512M -q .... Genel hata giderme adımları için cron job çalışmıyor sayfamızı inceleyin.
3. cURL ve Dış Bağlantı Kısıtlamaları
Sunucu güvenlik duvarı (CSF, iptables) veya giden port kısıtlamaları, WISECP'nin alan adı yazmanlarına (domain registrar), SMS ağ geçitlerine ve merkez bankası sunucularına erişmesini engelleyebilir. Sunucunuzda curl fonksiyonunun aktif olduğunu ve 443 dış portuna erişim verilebildiğini doğrulayın.
4. Önbellek ve Kilit Dosyası İzin Hataları
Önceki bir cron çalışması sırasında sunucu yeniden başlatıldıysa veya elektrik kesintisi yaşandıysa geçici kilit dosyaları silinmeyebilir. core/resources/cache dizini altındaki geçici dosyaları temizleyin ve dizin izinlerinin web kullanıcısı (örneğin www-data veya cPanel kullanıcı adı) tarafından yazılabilir olduğunu teyit edin.
HTTP Yolunun İşlev Sınırları ve cronjob.com.tr ile İzleme
Zamanlanmış görevi HTTP URL üzerinden (örneğin bir web tarayıcısı veya webhook ile) çalıştırmak günlük e-posta gönderimi ve standart fatura kontrolleri için yeterli olabilir. Ancak HTTP yönteminde uzun süren işler için web sunucusunun ve aracıların süre sınırları dikkate alınmalıdır:
- Sistem Güncellemesi ve Yükseltme (Core Upgrades): WISECP yeni bir sürüme güncellenirken veritabanı tabloları yeniden yapılandırılır ve binlerce dosya kopyalanır. Web sunucusu, PHP ve ters vekilin zaman aşımı değerleri yapılandırmaya göre değişir. Uzun süren güncellemelerde bağlantı kesilebilir; desteklenen güncelleme yöntemi için kurulu WISECP sürümünün yönergeleri izlenmelidir.
- Tam Veritabanı ve Dosya Yedekleme: Büyük boyutlu yedekleme ve geri yükleme işlemleri HTTP bekleme süresini aşabilir; isteğin zaman aşımına uğraması sunucudaki işin mutlaka durduğu anlamına gelmez.
Bununla birlikte, günlük rutin otomasyonlarınızı kesintisiz izlemek ve sunucunuzun HTTP uç noktanızdaki erişim hatalarından haberdar olmak için ücretsiz cron job servisi cronjob.com.tr harika bir tamamlayıcıdır.
cronjob.com.tr üzerinde harici bir HTTP tetikleyici oluştururken şu adımları uygulayabilirsiniz:
- Hedef URL:
https://alanadiniz.com/cLink/cronadresini tanımlayın. - HTTP Metodu:
GETveyaPOSTseçeneğini işaretleyin. - Zamanlama: Hazır 1 dakikalık aralığı seçin veya standart cron ifadesi olarak
* * * * *yazın. Zaman diliminiEurope/Istanbulolarak ayarlayın. - Geniş Zaman Aşımı (Timeout): cronjob.com.tr, hazır 1 dakikalık aralıkta 55 saniye, cron ifadeli görevlerde 290 saniye yanıt bekler. Web sunucusunun kendi zaman aşımı ve kaynak sınırları geçerliliğini korur.
- Kesinti Bildirimleri: Sunucunuz çöktüğünde veya veritabanı bağlantısı koptuğunda, sistem belirlediğiniz ardışık hata eşiği (varsayılan 3, 1–20 arasında ayarlanabilir) aşıldığında size e-posta uyarısı gönderir. Sistem normale döndüğünde toplam kesinti süresini raporlar. Son 7 güne ait durum kodları ve ilk 64 KB yanıt gövdeleri yönetim panelinde saklanır. Aynı iş için bildirimler arasında en az 60 dakika bulunur.
Sıkça Sorulan Sorular (SSS)
WISECP cron görevi hangi sıklıkla çalıştırılmalıdır?
WISECP resmi kurulum belgesi zamanlanmış görevin her dakika (* * * * *) çalıştırılmasını önerir. Hangi alt görevlerin çalışacağını WISECP kendi otomasyon takvimine göre belirler.
CLI cron ile HTTP cron arasındaki en kritik fark nedir?
CLI yöntemi PHP'yi komut satırında çalıştırır; PHP veya sunucu kaynak sınırları yine geçerlidir. HTTP yönteminde web sunucusu ve aracıların bekleme sınırları da etkili olduğundan uzun işler zaman aşımına uğrayabilir.
WISECP cron görevinin çalıştığını yönetim panelinde nereden görebilirim?
WISECP yönetici panelinde Otomasyon ekranındaki son iş kayıtlarını kontrol edin. HTTP yöntemi için Otomasyon Ayarları > Sistem sekmesindeki kendi kendini test etme seçeneğini de kullanabilirsiniz.
SSH terminalinde WISECP cron komutunu elle nasıl test edebilirim?
SSH terminaline bağlanarak /usr/bin/php -q /home/kullaniciadi/public_html/cLink/cron komutunu doğrudan çalıştırabilirsiniz. Ekranda IonCube veya PHP sözdizimi hatası çıkmıyorsa ve komut hatasız sonlanıyorsa yapılandırmanız doğrudur.
Hemen Ücretsiz Cron Job Oluşturun
WISECP otomasyon adresinizi (cLink/cron) cronjob.com.tr'de her dakika tetikletin; uç nokta erişilemez olduğunda ardışık hata eşiği aşılınca e-posta uyarısı alın, durum kodlarını ve yanıt gövdelerini 7 günlük kayıtlardan izleyin. Kayıt ücretsizdir, kredi kartı istenmez.
Ücretsiz Başla →