2012-04-25 16 views
14

RISOLTO: Crap ... perché sempre riesci a capire qualcosa subito dopo aver finalmente deciso di chiedere aiuto !!CodeIgniter + Command Line + Cron + Cpanel

Se qualcun altro ha questo problema, provare a eseguire/usr/local/bin/php invece di/usr/bin/php per ottenere il codeigniter da prelevare nei segmenti URI.

DOMANDA

Ho l'ultima installazione di CodeIgniter e tutto sembra funzionare bene a livello locale. Recentemente ho messo i miei file sul mio server e tutto eccetto il mio comando cron funziona.

Quando provo a chiamare un controller tramite cron (come descritto qui: http://codeigniter.com/user_guide/general/cli.html), non ricevo il controller. Invece, l'output che ottengo è semplicemente il mio controller predefinito (pagina di accesso).

Questo ha funzionato bene localmente e l'index.php viene chiamato perché ricevo via email l'output dalla pagina predefinita.

Qualcuno ha chiesto una domanda simile qui: CodeIgniter Cron Job on Shared Hosting? responder ha suggerito che si trattava di un problema con Cpanel (che è quello che sto ora cercando di usare per impostare il lavoro del cron), ma parlando con il mio fornitore di hosting, hanno detto il viene eseguito l'intero comando. Ciononostante, l'IC non sta acquisendo l'URI per il controller. Ho anche verificato che il valore base_url sia impostato correttamente (il che è dimostrato dal fatto che il file funziona bene attraverso una chiamata URL).

Qualche idea? Non riesco proprio a capire perché non stia afferrando l'URI quando in formato riga di comando:/usr/bin/php index.php metodo control_class

risposta

17

Questa è stata la risposta:

Uso /usr/local/bin/php invece di /usr/bin/php per arrivare CodeIgniter a raccogliere sui segmenti URI.

+0

ringraziamenti così poltiglia, ero già disperata –

+0

fantastico - questo è fantastico! risolto il mio problema ESATTO - grazie mille – Laurence

+0

Grazie! Per salvare un passaggio per coloro che lo incontrano per la prima volta, la sintassi completa per il comando è simile a:/usr/local/bin/php /home/mydomainusername/public_html/index.php metodo di controllo – mpemburn

0

Sono contento che tu abbia funzionato Mike. Ho riscontrato problemi simili e ho finito con l'utilizzo di CI Cron Job Bootstrapper in un progetto recente in esecuzione su un host cPanel. Sto solo postando questo in caso di aiuto a qualcun altro.

+0

link interrotto per CI Cron Job Bootstrapper – shakaran

1

Ecco la soluzione prima bisogna trovare il percorso dal percorso phpinfo document_root

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

E 'al 100% di lavoro

1

Per me questo è ciò che ha funzionato:

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

Mentre questo codice può rispondere la domanda, sarebbe meglio includere un contesto, spiegando come funziona e quando usarlo. Le risposte al solo codice non sono utili a lungo termine. – Bono

+0

Grazie amico il suo lavoro per me. –