Hướng dẫn run php file from batch - chạy tệp php từ hàng loạt

10

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Tôi cần chạy tập lệnh PHP vào nửa đêm mỗi đêm trên máy chủ của mình. Trên một hệ thống Linux, tôi đã thiết lập một công việc cron, nhưng tôi bị mắc kẹt với hệ thống Windows.

Tôi biết tôi phải thiết lập một tác vụ bằng Trình lập lịch tác vụ Windows và nhiệm vụ sẽ cần chạy tệp .bat lần lượt sẽ chạy tệp PHP, nhưng tôi bị mắc kẹt khi cố gắng viết tệp .bat.

Những gì tôi hiện có là:

@echo off
REM this command runs the nightly cron job
start "C:\Program Files (x86)\PHP\v5.3\php.exe" -f C:\inetpub\wwwroot\sitename\crons\reminder-email.php

Nhưng khi tôi cố gắng chạy tệp .bat theo cách thủ công để kiểm tra nó, tôi sẽ nhận được một cảnh báo Windows

"Windows không thể tìm thấy '-f'. Hãy chắc chắn rằng bạn đã nhập tên chính xác, sau đó thử lại.

Tôi đã bỏ lỡ điều gì?

Hỏi ngày 28 tháng 8 năm 2013 lúc 13:11Aug 28, 2013 at 13:11

Hướng dẫn run php file from batch - chạy tệp php từ hàng loạt

0

Lệnh START tùy chọn chấp nhận một tiêu đề cho cửa sổ được tạo làm đối số đầu tiên của nó; Trong trường hợp này, nó nghĩ rằng C:\Program Files (x86)\PHP\v5.3\php.exe là tiêu đề để hiển thị và -f (đối số thứ hai) là thực thi bạn muốn chạy.

Do đó, bạn có thể sửa chữa điều này bằng cách cung cấp một tiêu đề giữ chỗ, ví dụ:

start "email reminder task" "C:\Program Files (x86)\PHP\v5.3\php.exe" -f C:\inetpub\wwwroot\sitename\crons\reminder-email.php

Hoặc, tốt nhất là bạn có thể từ bỏ lệnh START hoàn toàn (bạn không sử dụng bất kỳ cơ sở duy nhất nào của nó) và chỉ chạy PHP trực tiếp:

"C:\Program Files (x86)\PHP\v5.3\php.exe" -f C:\inetpub\wwwroot\sitename\crons\reminder-email.php

Đã trả lời ngày 28 tháng 8 năm 2013 lúc 13:21Aug 28, 2013 at 13:21

Hướng dẫn run php file from batch - chạy tệp php từ hàng loạt

JonjonJon

419K78 Huy hiệu vàng723 Huy hiệu bạc793 Huy hiệu Đồng78 gold badges723 silver badges793 bronze badges

3

Trên thực tế, bạn thậm chí không cần một tập tin hàng loạt. Bạn có thể chạy bản-script từ Trình lập lịch tác vụ.

Chỉ cần để trình lập lịch tác vụ chạy php.exe và đặt vị trí của tệp PHP làm đối số của tác vụ.

Đã trả lời ngày 28 tháng 8 năm 2013 lúc 13:26Aug 28, 2013 at 13:26

2

Tôi có thể đề xuất một thay đổi nhỏ.

echo off
REM This adds the folder containing php.exe to the path
PATH=%PATH%;C:\Program Files (x86)\PHP\v5.3

REM Change Directory to the folder containing your script
CD C:\inetpub\wwwroot\sitename\crons

REM Execute
php reminder-email.php

PS. Đặt Apache, MySQL hoặc PHP trong

start "email reminder task" "C:\Program Files (x86)\PHP\v5.3\php.exe" -f C:\inetpub\wwwroot\sitename\crons\reminder-email.php
0 là một ý tưởng tồi. Không sử dụng các thư mục Windows với khoảng trống trong tên của họ.

Đã trả lời ngày 28 tháng 8 năm 2013 lúc 13:21Aug 28, 2013 at 13:21

Hướng dẫn run php file from batch - chạy tệp php từ hàng loạt

JonjonRiggsFolly

419K78 Huy hiệu vàng723 Huy hiệu bạc793 Huy hiệu Đồng20 gold badges101 silver badges145 bronze badges

2

Trên thực tế, bạn thậm chí không cần một tập tin hàng loạt. Bạn có thể chạy bản-script từ Trình lập lịch tác vụ.

set php="C:\Program Files (x86)\PHP\v5.3\php.exe"
%php% -f C:\inetpub\wwwroot\sitename\crons\reminder-email.php

Hướng dẫn run php file from batch - chạy tệp php từ hàng loạt

Chỉ cần để trình lập lịch tác vụ chạy php.exe và đặt vị trí của tệp PHP làm đối số của tác vụ.

Đã trả lời ngày 28 tháng 8 năm 2013 lúc 13:2626 gold badges87 silver badges98 bronze badges

Tôi có thể đề xuất một thay đổi nhỏ.Jun 16, 2018 at 0:26

Hướng dẫn run php file from batch - chạy tệp php từ hàng loạt

PS. Đặt Apache, MySQL hoặc PHP trong

start "email reminder task" "C:\Program Files (x86)\PHP\v5.3\php.exe" -f C:\inetpub\wwwroot\sitename\crons\reminder-email.php
0 là một ý tưởng tồi. Không sử dụng các thư mục Windows với khoảng trống trong tên của họ.

RiggsfollyriggsfollyJan 12, 2017 at 3:35

Phù bằng vàng 91.4K20 Huy hiệu bạc145 Huy hiệu đồng

cd E:\xampp\htdocs\my-project
E:
php artisan schedule:run

Còn cái này thì sao?Aug 28, 2017 at 13:35

Làm cách nào để chạy một tập tin hàng loạt trong PHP?

Sử dụng các trích dẫn đơn như $ str = exec ('start /b path \ to \ batch.bat'); /B có nghĩa là dơi sẽ được thực thi trong nền, vì vậy phần còn lại của PHP sẽ tiếp tục sau khi chạy dòng đó, trái ngược với $ str = exec ('start /b /c lệnh', $ result); Trường hợp lệnh được thực thi và sau đó kết quả được lưu trữ để sử dụng sau.$str = exec('start /B Path\to\batch. bat'); The /B means the bat will be executed in the background so the rest of the php will continue after running that line, as opposed to $str = exec('start /B /C command', $result); where command is executed and then result is stored for later use.

Tôi có thể chạy PHP trong CMD không?

Sau khi cài đặt PHP, chúng tôi đã sẵn sàng để chạy mã PHP thông qua dòng lệnh.Bạn chỉ cần làm theo các bước để chạy chương trình PHP bằng dòng lệnh.Mở cửa sổ thiết bị đầu cuối hoặc dòng lệnh.GOTO Thư mục hoặc thư mục được chỉ định nơi có các tệp PHP.Open terminal or command line window. Goto the specified folder or directory where php files are present.

Làm cách nào để chạy tệp PHP?

Tệp PHP được đặt bên trong thư mục HT HTDOCS.Nếu bạn muốn chạy nó, hãy mở bất kỳ trình duyệt web nào và nhập vào localhost/demo.php và nhấn enter.Chương trình của bạn sẽ chạy.open any web browser and enter “localhost/demo. php” and press enter. Your program will run.

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

Cách chạy tập lệnh PHP tự động..
Chạy tập lệnh PHP bằng lệnh PHP.Mở thiết bị đầu cuối để xác định vị trí nhị phân PHP.$ sudo định vị PHP.....
Chạy tự động tập lệnh PHP thông qua URL.Vì các tập lệnh PHP chủ yếu được truy cập qua URL, mỗi khi bạn truy cập URL, nên tập lệnh PHP tương ứng của nó sẽ được chạy ..