2012-10-17 37 views
5

Tôi đã tự hỏi, liệu có một sự khác biệt giữa các tham số wget, curl [parameters] và php [parameters] trong khi tạo ra một cron job?wget, curl và php cho cronjobs

Nếu tôi có một tập lệnh "cron-00-00.php" và tôi cần chạy nó thì điều gì sẽ được đề cập ở trên?

0 0 * * * php -q /your_abolute_path/includes/php/cron/cron-00-00.php >/dev/null 2>&1 
0 0 * * * wget -O - -q -t 1 http://your_domain_com/includes/php/cron/cron-00-00.php >/dev/null 2>&1 
0 0 * * * curl http://your_domain_com/includes/php/cron/cron-00-00.php 

Hoặc là tùy chọn để sử dụng một trong hai (tùy thuộc vào cách phù hợp nhất với tôi)?

Tôi hiện có ý nghĩ rằng 3 trong số họ có các chức năng khác nhau. Hãy sửa các quan niệm của tôi.

+1

Có sự khác biệt. Tuy nhiên về những gì cụ thể là bạn tự hỏi? Bởi vì trong trường hợp của bạn có thể không có sự khác biệt nào cả. Ngoài ra, nếu bạn có thể thực thi kịch bản của bạn trong CLI, tôi muốn thay vì chạy các yêu cầu HTTP như Wget và Curl. – hakre

+2

Sự khác biệt chính là, các phương thức curl + wget (về cơ bản giống nhau) sẽ điền vào các tiêu đề HTTP trong '$ _SERVER'. Việc invokation dòng lệnh sẽ không. – Leigh

+2

Ngoài @Leigh bình luận, curl + wget chạy với người dùng apache và php cli chạy với người dùng cron. – m4t1t0

Trả lời

9

Chạy PHP trực tiếp là tùy chọn đơn giản nhất. Nó không mất một khe mạng trên apache của bạn (hoặc máy chủ web khác) dụ. Nó cũng bỏ qua các giới hạn liên quan đến máy chủ web được thiết kế để bảo vệ máy tính của bạn chống lại các bên thứ ba độc hại. Tuy nhiên, môi trường mà theo đó phiên bản dòng lệnh của PHP chạy hơi khác một chút, và có thể đủ để ngăn chặn một kịch bản kém được viết đúng cách. Ngoài ra, một số máy chủ web chạy PHP như một mô-đun DSO trong không gian quá trình của apache và sử dụng quyền của người dùng apache. Điều này có thể ảnh hưởng đến kết quả của bạn (có thể là tích cực hoặc có thể tiêu cực).

Trong hai tùy chọn còn lại, curl dường như được triển khai rộng rãi hơn một chút so với wget, vì vậy đó sẽ là lựa chọn thứ hai của tôi, mặc dù chúng gần bằng nhau.

Các vấn đề liên quan