一、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查看任务执行情况