2016-04-01 13 views
5

CI belgelerinde olduğu gibi CLI'dan kod çalıştırmaya çalışıyorum, ancak bir nedenden dolayı, belki de HMVC uzantısının kullanılması nedeniyle, belirtilen denetleyiciye girmeyecek .CLI'dan Codeigniter HMVC: denetleyiciye girilmiyor

HMVC uzantılı sitede CLI yürütme hakkında ek bir belge bulamadım.

Bununla nasıl baş edeceğini bilen var mı? Burada

kodu:

php index.php cron generatepdfs 

veya bu: Ben belge kökünden bu çalıştırırsanız

/** 
* application/controllers/Cron.php 
* This is just a wrapper controller to use an HMVC module using the basic CLI syntax for CI 
* 
*/ 
class Cron extends MX_Controller 
{ 

    public function generatepdfs($start_date = null, $end_date = null) 
    {  
      echo 'Not reached'; exit; 

      $this->load->module('facturation/documentscontroller'); 

      $this->documentoscontroller->generatepdfs($start_date, $end_date); 
    } 
} 

olursa olsun O göstermez

/usr/bin/php -f /home/user/public_html/index.php cron generatepdfs 

'ulaştı Değil '.

Tarayıcıdan çalıştırırsam yapar.

Bu

konsola hatalar çıktı bazıları şunlardır:

belirtilen sınıf bulunamıyor: Session.php

Başvuru/kütüphaneler/oturum/MY_Session içinde overriden Oturum kütüphane MY_Session var .php bir tarayıcıda mükemmel çalışır. Bu dosyayı bir dizin yukarı taşırsam bu hata konsolda tekrar görüntülenmeyecek, ancak tarayıcıda çalışmaz. Bu arada otomatik olarak yüklenir.

Bunun için bir geçici çözüm hiç beğenmedim: aynı dosyayı her iki konumda da kopyala.

Sonraki hatası:

PHP Ölümcül hata: hattında /home/mysite/public_html/system/core/Common.php bulunmayan Class 'CI_Preferencias' 196

Özel bir kütüphane var Ayrıca, otomatik yüklenen Preferencias adı verilen uygulama/kütüphaneler/Preferencias.php

Bu, tarayıcıda mükemmel şekilde çalışır. Ancak, CLI'den var olmayan bir CI_Preferencias kütüphanesi arar gibi görünüyor. CI_Preferencias'a yeniden adlandırma ve "CI_Preferencias" dosyasını otomatik olarak yüklerseniz, CI CLI'den CI_CI_Preferencias adlı bir sınıfı arar.

Bir şey eksik mi, CI'de gerçek bir hata mı, yoksa HMVC modülünün bununla uğraştığından emin değilim.

Herkes bana yardımcı olabilir mi ?? Bu beni çıldırtıyor çünkü cronjobs'dan planlanan CLI eylemlerini kullanmalıyım ve tamamen kaybolmuş hissediyorum.

+0

uygulama kontrolörleri ve bir modülde HMVC çünkü ben düşünürdüm 'application/modüller/your_module_name/kontrolörleri/Cron.php' – user4419336

+0

wolfgang1983 @: ben olsaydı Codeigniter için CLI sözdizimi nedir denetleyici modülün içine yerleştirilmiş mi? Başarı olmadan denedim. Yine de, modüller dışındaki denetleyiciler, orijinal konumlarında, web sunucusundan geçerken olduğu gibi, HMVC uzantısını kullanmaya devam etmelidir. –

+0

Yukarıdaki yorum bana aittir, kişisel hesabımla (işte kullandıklarımı değil) – user3514092

cevap

0

Yapılandırma dosyasında subclass_prefix dosyasını "$config['subclass_prefix'] = 'MY_';" olarak eklediyseniz. Preferencias.php yerine MY_Preferencias.php'yi deneyin.

$ config ['subclass_prefix'] = 'MY_' kullanmamışsanız; ve oturum kütüphanesini $ this-> load-> library ('session') olarak çağırmak; Özel MY_Session yerine CI yerel oturum kütüphanesi alıyor.php

Here is the link