2012-04-25 29 views
14

SOLVED: Crap ... tại sao nó luôn luôn bạn tìm ra một cái gì đó ngay sau khi bạn cuối cùng đã quyết định yêu cầu giúp đỡ !!CodeIgniter + Command Line + Cron + Cpanel

Nếu có ai khác gặp phải sự cố này, hãy thử chạy từ/usr/local/bin/php thay vì/usr/bin/php để lấy trình mã hóa để nhận các phân đoạn URI.

CÂU HỎI

Tôi có cài đặt mã vạch mới nhất và mọi thứ có vẻ hoạt động tốt tại địa phương. Gần đây tôi đặt các tập tin của tôi trên máy chủ của tôi và tất cả mọi thứ ngoại trừ lệnh cron của tôi đang làm việc.

Khi tôi cố gắng gọi bộ điều khiển thông qua cron (như được mô tả ở đây: http://codeigniter.com/user_guide/general/cli.html), tôi không nhận được bộ điều khiển. Thay vào đó, đầu ra tôi nhận được chỉ đơn giản là bộ điều khiển mặc định của tôi (trang đăng nhập).

Tính năng này hoạt động tốt tại địa phương và chỉ số index.php IS được gọi vì tôi nhận được email từ đầu ra từ trang mặc định.

Có người hỏi một câu hỏi tương tự ở đây: CodeIgniter Cron Job on Shared Hosting? Người trả lời cho rằng đó là sự cố với Cpanel (đó là những gì tôi đang cố gắng sử dụng để thiết lập công việc cron), nhưng nói chuyện với nhà cung cấp dịch vụ lưu trữ của tôi toàn bộ lệnh đang được chạy. Tuy nhiên, CI không lấy URI cho bộ điều khiển. Tôi cũng đã kiểm tra để đảm bảo base_url được đặt chính xác (được chứng minh bởi tệp hoạt động tốt thông qua cuộc gọi URL).

Mọi suy nghĩ? Tôi chỉ có thể không có vẻ để tìm ra lý do tại sao nó không lấy URI khi ở dạng dòng lệnh:/usr/bin/php index.php controller_class phương pháp

Trả lời

17

Đây là câu trả lời:

Sử dụng /usr/local/bin/php thay vì /usr/bin/php để có được codeigniter để chọn lên trên các phân đoạn URI.

+0

cảm ơn vì vậy, tôi đã tuyệt vọng –

+0

tuyệt vời - điều này thật tuyệt! giải quyết vấn đề EXACT của tôi - cảm ơn rất nhiều – Laurence

+0

Cảm ơn! Để lưu một bước cho những người gặp phải điều này lần đầu tiên, cú pháp đầy đủ của Lệnh sẽ giống như:/usr/local/bin/php /home/mydomainusername/public_html/index.php phương thức điều khiển – mpemburn

0

Tôi rất vui vì bạn đã làm việc đó với Mike. Tôi chạy vào các vấn đề tương tự và kết thúc bằng cách sử dụng CI Cron Job Bootstrapper trên một dự án gần đây đang chạy trên một máy chủ cPanel. Tôi chỉ đăng bài này trong trường hợp nó giúp người khác.

+0

Liên kết bị hỏng cho CI Cron Job Bootstrapper – shakaran

1

Đây là giải pháp đầu tiên bạn cần phải tìm đường đi từ đường phpinfo DOCUMENT_ROOT

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

Đó là 100% làm việc

1

Đối với tôi đây là những gì đã làm việc:

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

Trong khi mã này có thể trả lời câu hỏi, sẽ tốt hơn nếu đưa vào một số bối cảnh, giải thích cách hoạt động và thời điểm sử dụng nó. Câu trả lời chỉ có mã không hữu ích trong thời gian dài. – Bono

+0

Cảm ơn bạn đã làm việc cho tôi. –