簡體   English   中英

使用wget和Windows Scheduler運行php腳本

[英]Running a php script using wget and Windows Scheduler

在我的筆記本電腦上,我已經安裝了網絡服務器並編寫了腳本。 在任何瀏覽器中通過http://localhost/test/search.php訪問該腳本都可以使其正常運行:它搜索,下載並存儲某些推文。

現在,我想使腳本每20分鍾自動運行一次,因此我在C:\\Program Files\\GnuWin32\\bin\\wget.exe下載並安裝了Windows的wget 然后,我使用以下操作(在“操作”選項卡上填寫)創建了Windows任務:

Program/script:
"C:\Program Files\GnuWin32\bin\wget.exe"

Add arguments (optional): -O - -q -t 1 http://localhost/test/search.php

如預期的那樣,每20分鍾就會打開一個命令行來運行腳本。 但是,什么也沒有發生。 腳本未初始化。 我確信我所有的路徑都是正確的。 是什么原因導致腳本無法執行? 命令行在幾毫秒內消失,所以我看不到它的意思...

您提到了search.php兩條路徑:一個是/test ,另一個是/ting 確保在瀏覽器和wget中使用相同的名稱。

如果您請求的頁面不存在,則提供-q不會出錯。 將其替換為-v--verbose可以查看出了什么問題。

c:\gnuwin32\bin\wget.exe -O - --verbose -t 1 http://localhost/test/search.php
--2013-02-25 23:42:03--  http://localhost/test/search.php
Resolving localhost... ::1, 127.0.0.1
Connecting to localhost|::1|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2013-02-25 23:42:03 ERROR 404: Not Found.

當命令行正常工作時,您可以專注於使用任務計划程序運行它。

您可以自己或任何其他帳戶運行任務。 即使您已注銷,使用“ LOCAL SERVICE也可以在不提供密碼的情況下運行它。 只需確保您選擇的帳戶具有wget所在目錄的權限即可。

其他人提到您必須設置計划任務的路徑,否則您將獲得屏幕快照中顯示的操作代碼(2)。 它還將確保Windows找到wget.exe依賴項,即libeay32.dlllibssl32.dll

為計划的任務設置工作目錄

最后,簡化。 從命令行運行php。 上面的鏈接是一個帶有簡單腳本的示例

編寫代碼,以便您可以從命令行獨立調用search.php。 無需在兩者之間放置HTTP客戶端和Web服務器。 這是用於各種Twitter相關操作的一堆示例腳本

請創建一個bat文件,在其中提及所有命令,例如Br​​oncha在注釋中提到的命令,然后將其添加到Windows任務計划程序中。

task1.bat
-----------
cd c:\xampp\htdocs\test
php search.php

您應該從命令行測試腳本,以了解腳本是否正常運行。 只需在cmd上運行此cmd即可檢查

"C:\Program Files\GnuWin32\bin\wget.exe" -O - -q -t 1 http://localhost/test/search.php

任務計划程序具有許多用於設置的選項卡,請檢查歷史記錄選項卡以查看計划的任務歷史記錄,您可以在其中檢查最后幾個運行時的退出代碼。 在歷史中查找類似事件:

事件ID:201任務類別:操作已完成

action "C:\\Program Files (x86)\\GnuWin32\\bin\\wget.exe" with return code x檢查其退出代碼action "C:\\Program Files (x86)\\GnuWin32\\bin\\wget.exe" with return code x 如果它為零,那么它正在工作,任何其他整數都意味着錯誤。

請告訴您您正在使用哪個窗戶? 還要發布上述命令的輸出,以便我可以確切地知道Task Scheduler中的錯誤。

暫無
暫無

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

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