2012-04-25 21 views
14

ROZWIĄZANIE: Crap ... dlaczego zawsze coś wymyślasz po tym, jak ostatecznie zdecydowałeś się poprosić o pomoc !!CodeIgniter + Command + Cron + Cpanel

Jeśli ktokolwiek inny ma ten problem, spróbuj uruchomić z/usr/local/bin/php zamiast/usr/bin/php, aby uzyskać kodowanie do pobrania na segmentach URI.

PYTANIE

mam najnowszą instalację CodeIgniter i wszystko wydaje się być działa bez zarzutu lokalnie. Ostatnio umieściłem moje pliki na moim serwerze i wszystko oprócz mojego polecenia cron działa.

Kiedy próbuję wywołać kontroler poprzez cron (jak opisano tutaj: http://codeigniter.com/user_guide/general/cli.html), nie otrzymuję kontrolera. Zamiast tego, dane wyjściowe, które otrzymuję, to po prostu mój domyślny kontroler (strona logowania).

To działało dobrze na miejscu i wywoływany jest index.php, ponieważ otrzymuję wiadomość e-mail z danymi wyjściowymi ze strony domyślnej.

Ktoś zadał podobne pytanie tutaj: CodeIgniter Cron Job on Shared Hosting? Odpowiadający sugerowali, że był to problem z Cpanelem (który jest tym, co teraz próbuję użyć do skonfigurowania zadania cron), ale rozmawiając z moim dostawcą usług hostingowych, powiedzieli uruchamiane jest całe polecenie. Mimo to CI nie przechwytuje identyfikatora URI kontrolera. Sprawdziłem również, aby upewnić się, że parametr base_url jest ustawiony poprawnie (co jest udowodnione, że plik działa poprawnie po wywołaniu adresu URL).

Jakieś myśli? Po prostu nie mogę się domyślić, dlaczego nie przechwytuje identyfikatora URI w formacie wiersza poleceń:/usr/bin/php index.php method_class method

Odpowiedz

17

To była odpowiedź:

Zastosowanie /usr/local/bin/php zamiast /usr/bin/php dostać CodeIgniter odebrać na segmenty URI.

+0

dzięki, więc papka, byłem już zdesperowany –

+0

niesamowite - to jest świetne! rozwiązał mój DOKŁADNY problem - wielkie dzięki! – Laurence

+0

Dzięki! Aby zapisać krok dla osób napotykających ten problem po raz pierwszy, pełna składnia polecenia będzie następująca:/usr/local/bin/php /home/mydomainusername/public_html/index.php controller method – mpemburn

0

Cieszę się, że to działa Mike. Wystąpiły podobne problemy i zakończyłem korzystanie z CI Cron Job Bootstrapper w ostatnim projekcie, który był uruchomiony na hoście cPanel. Po prostu publikuję tę przysięgę, która pomaga komuś innemu.

+0

Złamany link do CI Cron Job Bootstrapper – shakaran

1

Oto rozwiązanie najpierw trzeba znaleźć drogę od ścieżki phpinfo document_root

PHP5 /home/abc/public_html/index.php folder_name controller_name function_name

Jest to 100% pracujący

1

Dla mnie to jest co działało:

php54 -f /home/{cpanel_user}/public_html/index.php controller function 
+0

Podczas gdy ten kod może odpowiadać pytanie, lepiej byłoby włączyć jakiś kontekst, wyjaśniając, jak to działa i kiedy go używać. Odpowiedzi tylko na kod nie są przydatne na dłuższą metę. – Bono

+0

Dzięki, kolego, to działa dla mnie. –