Làm cách nào để chạy tập lệnh PHP tự động?

Chào mừng bạn đến với hướng dẫn về cách lên lịch chạy tập lệnh PHP vào một thời điểm cụ thể. Cần gửi email vào một thời điểm nhất định? . Đọc để tìm hiểu làm thế nào

 

MỤC LỤC

 

 

LỊCH TRÌNH CỬA SỔ

Trong phần này, chúng ta sẽ xem xét cách lên lịch cho tập lệnh PHP bằng Trình lập lịch tác vụ trong Windows

 

CÔNG CỤ LÊN LỊCH NHIỆM VỤ CỦA WINDOWS

BƯỚC 1) MỞ LỊCH TRÌNH NHIỆM VỤ

Tiếp tục, chúng ta hãy xem cách lên lịch một tập lệnh PHP trong Linux

 

LÊN LỊCH BẰNG AT (CHẠY MỘT LẦN)

Linux theo lệnh

echo "php /PATH/TO/script.php" | at 1:23 PM 12/12/2012

Linux có nhiều bản dựng và hương vị khác nhau, một số có thể cung cấp giao diện đồ họa để lên lịch tác vụ trong khi một số thì không. Vì vậy, chúng tôi sẽ đi thẳng vào cách đáng tin cậy nhất – Sử dụng dòng lệnh. Để lên lịch cho một tác vụ chỉ chạy một lần, chúng ta sử dụng lệnh

echo "php /PATH/TO/script.php" | at 1:23 PM 12/12/2012
2

 

LÊN LỊCH BẰNG CRON (CHẠY ĐỊNH KỲ)

Linux crontab

sudo crontab -e
0 3 * * * /usr/bin/php /http/test.php

Để lặp lại kịch bản định kỳ, chúng ta có thể sử dụng

echo "php /PATH/TO/script.php" | at 1:23 PM 12/12/2012
3 cũ. Định dạng của
echo "php /PATH/TO/script.php" | at 1:23 PM 12/12/2012
3 giống như thế này

  • Phút – 0 đến 59
  • Giờ – 0 đến 23
  • Ngày trong tháng – 1 đến 31
  • Tháng trong năm – Từ ngày 1 đến ngày 12 hoặc tháng 1 đến tháng 12
  • Ngày trong tuần – 0 đến 6, hoặc Sun đến Sat
  • Lệnh chạy

Vì vậy, đối với ví dụ trên, tập lệnh PHP được đặt để chạy vào lúc 3 giờ sáng hàng ngày. Nếu bạn cần thêm

echo "php /PATH/TO/script.php" | at 1:23 PM 12/12/2012
3 ví dụ, tôi sẽ để lại một liên kết trong phần bổ sung bên dưới

P. S. Bạn cũng có thể sử dụng

echo "php /PATH/TO/script.php" | at 1:23 PM 12/12/2012
6 để liệt kê tất cả các tác vụ đã lên lịch hiện có,
echo "php /PATH/TO/script.php" | at 1:23 PM 12/12/2012
7 để dừng tất cả các công việc định kỳ

 

 

LỊCH MAC

Chà, macOS dựa trên Unix. Có nghĩa là, sử dụng lại crontab cũ tốt

 

LÊN LỊCH BẰNG CRON

bảng điều khiển macOS

________số 8_______

Vâng, nó giống như Linux. Nhưng đây chỉ là một ví dụ khác sẽ chạy ở mức 5. 30h Thứ Hai hàng tuần

 

LÊN LỊCH BẰNG GUI

Đối với những người muốn sử dụng GUI để lên lịch cho một tác vụ, đây là một quá trình khó khăn mà tôi đã nghe lần cuối - Về cơ bản, nó bao gồm

  • Sử dụng Automator để tạo quy trình làm việc “tập lệnh shell PHP tự động chạy”
  • Sau đó sử dụng iCal để lên lịch chạy tác vụ Automator

Tôi không phải là chuyên gia về Mac, vì vậy bạn hãy tự nghiên cứu… Tuy nhiên, Crontab dễ dàng hơn rất nhiều

 

LỊCH TRÌNH ĐỘC LẬP NỀN TẢNG

Vậy chúng ta phải làm gì khi không có quyền truy cập vào bộ lập lịch tác vụ?

 

INFINITE WHILE LOOP “SCHEDULER”

<?php
// (A) SET THE TIME TO RUN
$runAT = "2077-06-05 12:34:56"; // RUN THIS AT YYYY-MM-DD HH:MM:SS
$runAT = strtotime($runAT);
 
// (B) LOOP UNTIL IT'S TIME
echo "Started";
while (true) {
  if (strtotime("now") >= $runAT) {
    // (B1) DO YOUR STUFF HERE
    echo "Running!";
 
    // (B2) STOP LOOPING
    break;
  }
  sleep(10); // WAIT FOR X SECONDS
}

Chỉ cần chạy tập lệnh này trong dòng lệnh hoặc sử dụng

echo "php /PATH/TO/script.php" | at 1:23 PM 12/12/2012
8 để khởi chạy tập lệnh. Tập lệnh này sẽ đơn giản tiếp tục lặp lại cho đến khi nó đạt đến giá trị đặt trước
echo "php /PATH/TO/script.php" | at 1:23 PM 12/12/2012
9 để chạy bất cứ thứ gì được yêu cầu

P. S. Mặc dù vậy, hãy cẩn thận, nhiều trường hợp của tập lệnh này có thể được sinh ra. Bạn có thể muốn tạo một số loại “cơ chế khóa” để ngăn quá nhiều người chạy

P. P. S. Một số “kẻ chuyên phá mã chính” sẽ không hài lòng với “sự thay thế vòng lặp vô tận nguy hiểm ngu ngốc” này. Nhưng nếu vẫn thất bại và đây là cách duy nhất hoạt động – Thì đó là một giải pháp tốt

 

 

BIT BỔ SUNG & LIÊN KẾT

Đó là tất cả cho hướng dẫn này và đây là một phần nhỏ về một số tính năng bổ sung và liên kết có thể hữu ích cho bạn

 

LIÊN KẾT và THAM KHẢO

  • Nhiệm vụ của Windows – Microsoft
  • Linux theo lệnh – Computer Hope
  • Ví dụ crontab Linux – TecAdmin
  • Daemon PHP đơn giản – Code Boxx

 

KẾT THÚC

Cảm ơn bạn đã đọc, và chúng tôi đã đi đến phần cuối của hướng dẫn này. Tôi hy vọng rằng nó đã giúp bạn với dự án của bạn và nếu bạn muốn chia sẻ bất cứ điều gì với hướng dẫn này, xin vui lòng bình luận bên dưới. Chúc may mắn và mã hóa hạnh phúc

Làm cách nào để chạy tập lệnh PHP tự động trên máy chủ?

Nhìn vào công việc CRON. http. // vi. wikipedia. org/wiki/Cron Chúng sẽ cho phép bạn lên lịch chạy nhiều tập lệnh tự động mà không cần sự can thiệp của bạn theo một lịch trình xác định. Lưu câu trả lời này

Làm cách nào để tự động chạy tập lệnh tệp PHP trong một khoảng thời gian nhất định?

Sử dụng các dịch vụ như. http. //www. setcronjob. com/ (có rất nhiều, chỉ cần tìm kiếm trên google), để lên lịch cho nhiệm vụ của bạn miễn phí (1 lần mỗi giờ) . Nếu bạn cần thêm một chút nước trái cây, bạn nên xem cron của công cụ ứng dụng google. Trong cron, bạn chỉ cần thực hiện một yêu cầu không đồng bộ đơn giản để gọi trang của mình.

Làm cách nào để chạy tập lệnh PHP cứ sau 5 phút?

Bạn có thể thử thực hiện set_time_limit(0) ở đầu tập lệnh của mình (xem http. //php. net/thủ công/vi/chức năng. đặt giới hạn thời gian. php) hoặc tự thay đổi tham số max_execution_time.

PHP có thể tự chạy không?

Kịch bản dòng lệnh. Bạn có thể tạo tập lệnh PHP để chạy tập lệnh đó mà không cần bất kỳ máy chủ hay trình duyệt nào . Bạn chỉ cần trình phân tích cú pháp PHP để sử dụng nó theo cách này. Kiểu sử dụng này lý tưởng cho các tập lệnh được thực thi thường xuyên bằng cron (trên *nix hoặc Linux) hoặc Trình lập lịch tác vụ (trên Windows).