Làm cách nào để chạy một công việc cron php trong Windows?

LiveAgent có tệp công việc. php và hàng đợi. php cần được thực thi định kỳ. Trên các máy chủ Linux, điều này được giải quyết bằng cron

Máy chủ Windows cung cấp công cụ có tên "Trình lập lịch tác vụ" cung cấp khả năng lên lịch khởi chạy các chương trình hoặc tập lệnh vào các thời điểm được xác định trước hoặc sau các khoảng thời gian được chỉ định

Bạn cần tạo một mục Task Scheuler để thực thi lệnh sau

"C:\\php.exe" -f "C:\\scripts\jobs.php"

Đừng quên thay thế "" bằng đường dẫn thực dẫn đến php. exe trong bản cài đặt PHP trên máy chủ của bạn và  "" với đường dẫn thực dẫn đến cài đặt Live Agent trên máy chủ của bạn

Để tạo một công việc định kỳ, bạn sẽ cần Wget, tải xuống tại đây. tôi đặt wget. exe trong ổ C, đây là chương trình đang được tham khảo. Đối số được chạy với Wget là -q -O nul http://127.0.0.1/ourscript.php. -q là chế độ khá, -O nul có nghĩa là xuất thành “không có gì” và http://127.0.0.1/ourscript.php sẽ là tệp được gọi

Có hai cách khác nhau để tạo trình kích hoạt quy trình Moodle Cron trên hệ điều hành Windows

Gói cron Moodle

Sử dụng gói Moodle Cron. Cách đơn giản nhất là sử dụng gói nhỏ này MoodleCron-Setup. exe, làm cho toàn bộ điều này trở nên rất dễ dàng bằng cách cài đặt một dịch vụ Windows nhỏ. Chạy nó và quên nó đi.  . -)

Bạn cần tắt (trong Quản trị trang → Bảo mật → Cài đặt bảo mật trang) để sử dụng tính năng này

tác vụ theo lịch trình wget hoặc php

Nếu bạn thích sử dụng Bộ lập lịch Windows tích hợp sẵn hoặc đang gặp sự cố với gói moodle-cron-for-windows, bạn có thể sử dụng wget for windows hoặc php từ dòng lệnh và thiết lập tác vụ theo lịch trình. Chỉ cần làm theo các bước sau

    • Chọn một trong hai php. exe/php-win. exe (nhị phân dòng lệnh) hoặc wget
php. exe hoặc php-win. exe nhị phân (dành cho PHP phiên bản 5 trở lên) được cài đặt trong thư mục php của bạn (e. g. c. \php) sẽ mang lại cho bạn hiệu suất tốt hơn khi chạy tập lệnh cron. Nếu bạn muốn sử dụng wget, hãy tải xuống phiên bản đã biên dịch của wget cho windows từ các cổng GNU Win32 gốc (http. //unxutils. nguồn. net/), từ trang wget for windows của Heiko Herold (http. //xoomer. trinh nữ. it/hherold/) hoặc trang wget dành cho cửa sổ của Bart Puype (http. // người dùng. khẩn cấp. be/~bpuype/wget/). Nếu bạn sử dụng gói của Heiko Herold, hãy sao chép tất cả. DLL vào C của bạn. thư mục \Windows\system32. Sao chép wget. tập tin exe vào c. \windows (điều này đảm bảo wget luôn nằm trong đường dẫn tìm kiếm). - Vào Start >> Control Panel >> Scheduled Tasks >> Add Scheduled Task. - Nhấp vào "Tiếp theo" để bắt đầu trình hướng dẫn. - Nhấp vào nút "Duyệt. " nút và duyệt đến c. \php\php. exe hoặc c. \windows\wget. exe và nhấp vào "Mở" - Nhập "Moodle Cron" làm tên của tác vụ và chọn "Hàng ngày" làm lịch biểu. Bấm tiếp". - Chọn "12. 00 AM" làm thời gian bắt đầu, thực hiện nhiệm vụ "Mỗi ngày" và chọn ngày hôm nay làm ngày bắt đầu. Bấm tiếp". - Nhập tên người dùng và mật khẩu của người dùng mà tác vụ sẽ chạy bên dưới (không nhất thiết phải là tài khoản đặc quyền). Hãy chắc chắn rằng bạn gõ đúng mật khẩu. Bấm tiếp". - Đánh dấu hộp kiểm có tiêu đề "Mở thuộc tính nâng cao cho tác vụ này khi tôi nhấp vào Kết thúc" và nhấp vào "Hoàn tất". - Trong hộp thoại mới gõ như sau vào dòng "Run. " hộp văn bản.
c:\windows\wget.exe -q -O NUL http://my.moodle.site/moodle/admin/cron.php
hoặc
c:\php\php-win.exe -f c:\moodle\admin\cli\cron.php
Thay thế "c. \moodle" với đường dẫn đến thư mục moodle của bạn hoặc "my. tâm trạng. site" với tên trang web của bạn. - Nhấp vào tab "Lên lịch" và ở đó trong phần "Nâng cao. " cái nút. - Đánh dấu vào hộp kiểm "Lặp lại tác vụ" và đặt "Mọi. " đến 3 phút và đặt "Cho đến khi. " đến "Thời lượng" và nhập "23" giờ và "59" phút. - Nhấp vào "OK" và bạn đã hoàn tất

GHI CHÚ. Nếu bạn sử dụng phiên bản wget, hãy nhớ kiểm tra cài đặt Cron để đảm bảo rằng dịch vụ cron 'dựa trên web' được cho phép

  • Kiểm tra nhiệm vụ theo lịch trình của bạn. Bạn có thể kiểm tra xem tác vụ đã lên lịch của mình có thể chạy thành công hay không bằng cách nhấp vào tác vụ đó bằng nút bên phải và chọn "Chạy". Nếu mọi thứ được thiết lập chính xác, bạn sẽ nhanh chóng thấy một cửa sổ lệnh DOS trong khi wget/php thực thi và tìm nạp trang cron, sau đó nó biến mất. Nếu bạn làm mới thư mục tác vụ đã lên lịch, bạn sẽ thấy cột Thời gian Chạy Cuối cùng (trong chế độ xem thư mục chi tiết) phản ánh thời gian hiện tại và cột Kết quả Cuối cùng hiển thị "0x0" (mọi thứ đều ổn). Nếu một trong hai điều này khác nhau, thì bạn nên kiểm tra lại thiết lập của mình
  • Ghi nhật ký đầu ra cron. Bạn có thể muốn ghi nhật ký đầu ra của tập lệnh cron khi nó thực thi, trong trường hợp bạn thấy công việc đang tạo ra lỗi, sao lưu chưa được hoàn thành hoặc người dùng gặp phải sự chậm trễ khi nhận email diễn đàn. Để làm điều này, hãy điều chỉnh lệnh để nó sử dụng php. exe và lưu trữ đầu ra trong một tệp có tên (ví dụ c. \moodle\admin\cron. nhật ký). Đây là một ví dụ về php. lệnh exe
c:\php\php.exe -f c:\moodle\admin\cron.php > c:\moodle\admin\cron.log

Nếu bạn gặp sự cố khi ghi nhật ký đầu ra của cron. php thành tệp văn bản bằng lệnh trên, sau đó đọc tin nhắn của Iñaki Arenaza để biết cách khác để ghi lại đầu ra của Cron

Một phương pháp khác là tạo một tệp lô nhỏ trên máy chủ của bạn để thực hiện tất cả công việc và nhận tác vụ theo lịch trình để gọi tệp đó. Dưới đây là một ví dụ về tệp bó lưu đầu ra của cron vào một tệp và xóa các tệp nhật ký cũ hơn 5 ngày

@echo off
set phppath="C:\Program Files (x86)\PHP\v5.3\php.exe"
set cronpath="C:\moodle\moodle-test\wwwroot\admin\cli\cron.php"
set logpath="D:\moodle\moodle-test\cronlogs"

%phppath% -f %cronpath% >> %logpath%\%date:~10,4%%date:~4,2%%date:~7,2%.log

Forfiles /P %logpath% /S /M *.log /D -5 /C "cmd /c del /q @path"

=Cron trong môi trường Windows 10/Xampp

Thiết lập tác vụ Cron trong Xampp hoạt động bằng Trình lập lịch tác vụ. Sử dụng wget hoặc MoodleCron khó khăn và không chắc chắn. sử dụng dòng

Làm cách nào để chạy một công việc định kỳ trong php?

Thời gian - đặt ngày trong tuần, tháng, ngày, giờ và phút. Thực thi – công việc định kỳ cần được gọi bằng PHP để chạy – công việc đó nằm ở đường dẫn /usr/bin/php. Script Path – đường dẫn của file bạn muốn chạy. Đầu ra – bạn được phép thêm đầu ra cron vào một tệp hoặc loại bỏ nó. /dev/null 2>&1 sẽ loại bỏ

Làm cách nào để chạy tệp php trong bộ lập lịch Windows?

Để tạo bộ lập lịch trong Windows, bạn cần. .
Tạo ra. bat trên máy chủ hoặc hệ thống của bạn;
Nhập lệnh sau vào của bạn. tập tin dơi. “F. \xampp\php\php. exe” -f “F. /xampp/htdocs/sitefolder/test. php”;
Đặt thời gian và tệp của bộ lập lịch trong bộ lập lịch tác vụ của bạn trong Windows

Cron có hoạt động trên Windows không?

Trên Microsoft Windows, các công việc định kỳ được gọi là Tác vụ theo lịch trình . Chúng có thể được thêm thông qua giao diện người dùng Windows Task Scheduler, bằng cách sử dụng PowerShell hoặc với sự trợ giúp của scht task. người cũ. Chạy một tác vụ vào thời gian cụ thể hoặc vào các ngày định kỳ là một trong những tác vụ quản trị phổ biến trên tất cả các hệ điều hành.

Làm cách nào để đặt lịch trình trong php?

php'; . định cấu hình các công việc đã lên lịch (xem bên dưới). // Để bộ lập lịch thực hiện các công việc đến hạn. $scheduler->run(); . use GO\Scheduler; // Create a new scheduler $scheduler = new Scheduler(); // .. configure the scheduled jobs (see below) .. // Let the scheduler execute jobs which are due. $scheduler->run(); Then add a new entry to your crontab to run scheduler.