Próbuję uruchomić kod z CLI, tak jak powiedziałem w dokumentacji CI, ale z jakiegoś powodu, być może z powodu użycia rozszerzenia HMVC, nie wejdzie on do określonego kontrolera .Codeigniter HMVC z CLI: brak wpisu kontrolera
Nie znalazłem żadnej dodatkowej dokumentacji dotyczącej wykonania CLI w witrynie rozszerzenia HMVC.
Czy ktoś wie, jak sobie z tym poradzić?
kod tutaj:
/**
* 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);
}
}
Nieważne, czy to uruchomić z korzenia dokumentu:
php index.php cron generatepdfs
czy to:
/usr/bin/php -f /home/user/public_html/index.php cron generatepdfs
nie będą wyświetlane „nie osiągnął ".
Dzieje się tak, gdy uruchomię go z przeglądarki.
Są to jedne z wyjścia błędów do konsoli:
Nie można zlokalizować określonej klasy: Session.php
Mam nadpisane MY_Session biblioteki sesji w aplikacji/bibliotek/sesji/MY_Session .php, który działa idealnie w przeglądarce. Jeśli przeniesię ten plik o jeden katalog w górę, ten błąd nie pojawi się ponownie w konsoli, ale nie będzie działać w przeglądarce. Jest autoloaded przy okazji.
Obejście tego nie podoba mi się: skopiuj ten sam plik w obu lokalizacjach.
Następny błąd:
PHP Fatal error: Class 'CI_Preferencias' nie znaleziono w /home/mysite/public_html/system/core/Common.php on line 196
mam niestandardową bibliotekę nazywane Preferencje, które jest również ładowane automatycznie, w aplikacji/bibliotekach/Preferencias.php
Ponownie, działa to doskonale w przeglądarce. Jednak z CLI wydaje się szukać biblioteki CI_Preferencias, która nie istnieje. Jeśli zmienię nazwę na CI_Preferencias i automatycznie ładuję "CI_Preferencias", CI wyszuka klasę o nazwie CI_CI_Preferencias z CLI.
Nie jestem pewien, czy czegoś brakuje, czy jest obecny błąd w CI, lub moduł HMVC się z tym miesza.
Czy ktoś może mi pomóc? To doprowadza mnie do szaleństwa, ponieważ muszę korzystać z działań CLI zaplanowanych od cronjobs i czuję się całkowicie zagubiony.
chciałbym myśleć, bo trzeba HMVC kontrolerów w aplikacji, a nie w module 'application/modules/your_module_name/kontrolery/Cron.php' – user4419336
@ wolfgang1983: Jaka jest składnia CLI dla CodeIgniter gdybym miał kontroler umieszczony w module? Próbowałem bez powodzenia. W każdym razie, kontrolery poza modułami, w swojej pierwotnej lokalizacji, powinny nadal działać z wykorzystaniem rozszerzenia HMVC, tak jak dzieje się to podczas działania przez serwer sieciowy. –
Jeden komentujący powyżej to ja, z moim osobistym kontem (nie tym, którego używam w pracy) – user3514092