2012-04-25 2 views
14

SOLVED: Crap ... почему вы всегда что-то понимаете прямо после того, как вы наконец решили обратиться за помощью !!CodeIgniter + Командная строка + Cron + Cpanel

Если у кого-либо еще есть эта проблема, попробуйте запустить из/usr/local/bin/php вместо/usr/bin/php, чтобы получить кодинигрегирующий элемент в сегментах URI.

ВОПРОС

У меня есть последняя установка CodeIgniter и все, кажется, работает нормально локально. Я недавно поместил свои файлы на свой сервер и все, кроме моей команды cron, работает.

Когда я пытаюсь вызвать контроллер через cron (как описано здесь: http://codeigniter.com/user_guide/general/cli.html), я не получаю контроллер. Вместо этого вывод, который я получаю, это просто мой контроллер по умолчанию (страница входа).

Это работало нормально локально, и index.php IS получил вызов, потому что я получаю сообщение по электронной почте от страницы по умолчанию.

Кто-то задал аналогичный вопрос здесь: CodeIgniter Cron Job on Shared Hosting? Ответчики предположили, что это проблема с Cpanel (вот что я сейчас пытаюсь использовать для задания задания cron), но, разговаривая с моим хостинг-провайдером, они сказали, что выполняется целая команда. Тем не менее, CI не захватывает URI для контроллера. Я также проверил, чтобы base_url был установлен правильно (что подтверждается тем, что файл работает нормально через URL-вызов).

Любые мысли? Я просто не могу понять, почему он не захватывает URI в формате командной строки:/usr/bin/php index.php controller_class метод

ответ

17

Это был ответ:

Использование /usr/local/bin/php вместо /usr/bin/php, чтобы получить CodeIgniter, чтобы поднять на сегменты URI.

+0

благодаря таким месиво, я уже был в отчаянии –

+0

awesome - это здорово! решил мою ТОЧНУЮ проблему - спасибо огромное – Laurence

+0

Спасибо! Чтобы сохранить шаг для тех, кто сталкивается с этим в первый раз, полный синтаксис для команды будет выглядеть примерно так:/usr/local/bin/php /home/mydomainusername/public_html/index.php метод управления – mpemburn

0

Я рад, что у вас это работает Майк. Я столкнулся с аналогичными проблемами и в итоге использовал CI Cron Job Bootstrapper в недавнем проекте, запущенном на хосте cPanel. Я просто публикую эту статью, которая помогает кому-то другому.

+0

неработающей ссылке для CI хрон Bootstrapper – shakaran

1

Вот решение сначала нужно найти путь от phpinfo document_root пути

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

Это 100% рабочий

1

Для меня это то, что работает:

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

Хотя этот код может ответить вопрос, было бы лучше включить некоторый контекст, объяснив, как он работает и когда его использовать. Ответы только на код не полезны в долгосрочной перспективе. – Bono

+0

Спасибо, приятель, его работа для меня. –

Смежные вопросы