簡體   English   中英

在 Windows 本地主機上的 PHP 腳本上運行 Cron 作業

[英]Run Cron Job on PHP Script, on localhost in Windows

我有一個 php 腳本,想按計划運行它。 我在 Windows 上使用本地 Web 服務器(WAMP 服務器)並且需要一種每 10 分鍾運行一次my_script.php的方法。

如何在 Windows 本地主機上的 PHP 腳本上運行 cron 作業?

最近,我在 Windows 7 的 localhost(WAMP 服務器)上的 php 腳本上運行 cron 作業時遇到了一些問題,當時我正在測試從 www 那里長期獲取一些鏈接。

順便說一下,我正在為任何有同樣事情的人分享這個。

您將需要一個shellscript來長期運行,使用Windows 任務計划程序 此外,您還需要一個批處理腳本( script.bat )來調用php.exe並運行您的php 腳本(此處稱為my_process.php

shellscript.vbs

Set WinScriptHost = CreateObject("WScript.Shell")
WinScriptHost.Run Chr(34) & "C:\path\to\script\script.bat" & Chr(34), 0
Set WinScriptHost = Nothing

腳本文件

"C:\wamp\bin\php\php5.4.12\php.exe" -f "C:\wamp\www\website\my_process.php"

現在,我們准備將Windows 任務計划程序設置為以所需的時間間隔運行shellscript.vbs

  1. 從 Windows開始菜單打開任務計划程序
  2. 轉到操作菜單並點擊創建任務...
  3. 在“常規”選項卡中,根據需要填寫“名稱”和“說明”字段
  4. 觸發器選項卡中,點擊新建按鈕。
  5. 從“開始任務”下拉列表中,選擇“按計划”並選擇“每日”
  6. 從“高級設置”部分,根據需要選擇“重復任務” ,並將持續時間設置無限期”
  7. 在“操作”選項卡上,從“操作”下拉列表中選擇“啟動程序”
  8. Program\\script框中,輸入 shellscript.vbs 的路徑,如C:\\path\\to\\shellscript.vbs
  9. 添加參數(可選)部分留空。
  10. Start in (optional)框中,輸入 shellscript.vbs 的父目錄,如C:\\path\\to\\
  11. 在本教程中點贊 :) 玩得開心。

要設置 Windows 機器在特定時間運行 cron.php,請遵循以下特定說明。 如果您不熟悉 Linux/Unix,或者您的網絡主機不提供運行 cron 作業的能力,這會很有用; 您可以從自己的計算機遠程運行它們。

注意:這些說明是為 Windows XP 編寫的,但在其他版本的 Windows 中應該類似。

https://www.drupal.org/node/31506

如果您使用Trix 的答案並遇到與Metafaniel相同的問題:

我有一個問題,在這個過程中,任務正在執行,但是我的 php 腳本沒有運行,我得到了“打開方式”對話框。 如果我看到我的任務的屬性,它會指出: ActionName C:\\Windows\\system32\\OpenWith.exe 即使我按照您的建議將其設置為 vbs 文件。 我究竟做錯了什么?

你應該使用這個:

  1. 而是“輸入 shellscript.vbs 的路徑,如 C:\\path\\to\\shellscript.vbs。” 使用“C:\\Windows\\System32\\wscript.exe”
  2. 相反,“將添加參數(可選)部分留空”使用(帶引號):“C:\\path\\to\\shellscript.vbs”

在多次嘗試使用 Windows 任務計划程序失敗后,這是在我的 Windows 10 專業版機器上對我有用的方法。 我只是跳過添加 .vbs 和 .bat 文件並直接將 PATH 發布到腳本文件。

在“操作>設置”下,它提供了瀏覽“程序/腳本”的選項,這是我將完整的路徑和文件名放入我想不帶引號運行的腳本的地方

C:\Server\Scripts\script.py

然后在您剛剛輸入“程序/腳本”的文本框正下方的“操作>設置”下的同一區域中,它具有顯示“開始(可選) ”的區域。 這就是我將PATH放入運行腳本的程序的地方(即:在本例中為 python.exe)。 但是我沒有直接指定“python.exe”我使用了沒有引號的PATH,如下所示。

C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64

如果你在沒有 Visual Studio 的情況下直接安裝了 Python,它會在一個不同的路徑下,可能類似於“C:\\Program Files\\Python\\Python37”或類似的東西,如果我沒記錯的話......

有點晚了,但只是對於那些不希望它很長並且不想浪費時間在測試中的人(因為目的是將它托管到服務器),可以通過在 html 中添加 http 內容刷新來做一件事php 文件的元標記,並向其添加所需的計時器並在瀏覽器中運行它。 注意:您必須使系統保持打開狀態,直到您沒有獲得所需的輸出。 我再說一遍,這不是完美和正確的方法,但您可以節省某人的配置設置時間。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM