Windows安裝cygwin + swoole,并配置crontab定時任務

一、Windows安裝cygwin

  • 安裝包下載

自行搜索安裝包進行下載,目前官網無法打開。官網地址:http://www.cygwin.com/

  • cygwin安裝詳細教程

1. 打開安裝包:setup-x86_64.exe

2. 點擊“下一頁”,選擇第一種方式后再點擊“下一頁”

3. 更改安裝目錄為D:\cygwin64后,點擊“下一頁”

4. 選擇組件包的存放位置,設置為D:\cygwin64\package,然后點擊“下一頁”

5. 選擇連接方式,選擇第二種方式后點擊“下一頁”

6. 由于網絡原因可能會出現以下情況,點擊“確定”即可

7. 在User URL中輸入http://mirrors.163.com/后點擊“Add”,并選擇它點擊“下一頁”

8. 進入下載包的頁面,如下圖所示。在Search中輸入需要下載的包并選擇版本,第三張圖片展示了所需要的組件,將這些組件選中后點擊“下一頁”,如果遺漏了某一個組件也不用卸載cygwin,只需要再次打開安裝包,按上述步驟執行到此處,進行搜索遺漏的組件進行選中,然后再次下載即可。

9. 最后選中創建快捷方式并點擊“完成”

  • 配置環境變量

1.?在Windows系統下找到【編輯系統環境變量】,添加系統變量的路徑

2.?添加到該安裝文件夾中的bin文件夾下

  • 檢驗Cygwin是否安裝成功

打開cygwin快捷方式(即命令行),輸入cygcheck -c cygwin

測試gcc、gdb是否安裝成功

  • 安裝apt-cyg(安裝后能夠像Linux系統一樣使用apt-get install/remove命令安裝卸載軟件)()

1. 下載之后解壓文件

2. 打開Cygwin,輸入apt-cyg install/remove vim即可安裝/卸載

二、安裝PHP swoole擴展

swoole?下載地址(官網下載的文件試過后不能安裝,所以推薦下面):

https://gitee.com/swoole/swoole/tags

注意:5.0以上版本適用于PHP8

PHP7建議使用4.x系列的版本。

我這里下載的是swoole-v4.8.13

  • 將下載的swoole-v4.8.13解押后(也可以直接通過sourcetree克隆不用解押),放到C:\cygwin64\home文件夾中

  • 打開前面安裝的?Cygwin64?Terminal?命令窗口

    進入到?D:\cygwin64\home\swoole位置

  • 打開Cygwin64安裝程序,搜索php-devel后安裝

  • 安裝完成后,執行phpize

  • 編譯./configure

  • 執行make

時間會比較長

如果出現以下錯誤:

則需要再打開Cygwin安裝程序重新安裝擴展libpcre2-devel、pcre2

  • 再次輸入 make、make test、 make install 命令

  • 手動打開 “/etc/php.ini” ,添加擴展 ” extension=swoole.so”

?

  • 運行 php -m查看擴展是否開啟

  • 測試運行:進入/home/swoole/examples/http目錄下,執行php server.php運行?“server.php”,在瀏覽器中輸入http://127.0.0.1:9501/,看到以下界面就表示Swoole已經運行成功了

?

三、配置crontab定時任務

  • 安裝并配置crontab定時任務

1. 右鍵以管理員身份打開Cygwin,安裝cron服務,執行以下命令

cygrunsrv -I cron -p /usr/sbin/cron -a -D

2.?安裝完服務之后,需要運行以下命令啟動服務(此處執行可能會有錯誤cygrunsrv -S cron 報錯:error starting a service :QueryServiceStatus:Win32 error 1062.)

cygrunsrv -S cron

3.?執行cron-config 重新安裝配置crontab

please enter the password for user ‘administrator’: (此時輸入的密碼(使用系統賬戶的密碼)是看不到的,沒關系直接輸入;再reenter(重新輸入)

4. 按win+R打開運行頁面,輸入services.msc后進入服務

5. 找到Cron daemon雙擊打開屬性列表,選擇“自動”并且啟動該服務(這樣做是防止該服務沒有被啟動)

6.?配置定時任務的命令介紹

crontab -e #編輯任務

crontab -l #查看任務列表

crontab -r #刪除任務

cronevents #查看執行情況

7. 創建shell腳本vim /home/cron.sh

8. 使用crontab -e來創建定時任務

crontab設定時程表的格式說明:

執行crontab -e配置定時任務(每天凌晨1點執行home目錄中的cron.sh腳本):00 01 * * * sh /home/cron.sh

10.?使用crontab -l來查看,如下圖

11. 使用cronevents查看任務執行情況