当前位置: 首页 > web >正文

cygwin+php教程(swoole扩展+redis扩展)

cygwin

1.下载cygwin安装程序 :在Windows上获得Linux的感觉

2. 打开安装包:setup-x86_64.exe

3.选择安装类型

从互联网安装首次安装
下载而不安装仅下载软件包不安装
从本地目录安装迁移程序时使用

4.选择安装目录

5.选择本地软件包目录(下载与安装的软件包目录,迁移程序时会用)

6.选择连接类型

7.选择下载站点

8.选择软件包

    //软件包                版本选最高automake1.10gcc-g++gdblibpcre2-devellibzstd-develmysqlmysql-develmysql-servernginxpcrepcre2phpphp-PEARphp-curlphp-develphp-ftpphp-jsonphp-mysqliunzipwget//需要什么安装什么,搜索不到的如 php-swoole扩展 php-redis扩展 则需要下载源码编译

9.审查并确认更改

10.完成安装

11.cygwin64目录结构

12.打开桌面cygwin64

首次打开将会创建启动源文件 位于home文件夹下

swoole扩展

1.查看php版本

2.下载对应版本的swoole扩展源码 

3.将扩展源码放在php扩展目录  地址:C:\cygwin64\usr\include\php\ext

4.cygwin打开swoole-v4.8.13并追加phpize扩展

5.配置构建和安装环境 ./configure

6.make构建

7.make install 安装

8.打开C:/cygwin64/etc/php.ini编辑最下面添加 extension=swoole.so

9.查看php扩展,安装完成

redis扩展

 1.查看php版本

2.下载对应版本的redis扩展源码 

3.将扩展源码放在php扩展目录  地址:C:\cygwin64\usr\include\php\ext

4.cygwin打开redis-4.2.0并追加phpize扩展

5.配置构建和安装环境 ./configure

6.make构建

7.make install 安装

8.打开C:/cygwin64/etc/php.ini编辑最下面添加 extension=redis.so

9.查看php扩展,安装完成

nginx+php-fpm

1.修改cygwin启动源文件C:/cygwin64/home/25848/.bashrc

2.重新打开桌面cygwin64

3.测试

4.niginx配置文件C:/cygwin64/etc/nginx/nginx.conf

# 指定用来运行 Nginx 进程的用户。通常注释掉以使用默认用户。
#user  nobody;# 设置工作进程的数量,通常设置为服务器CPU核心数。
worker_processes  1;# 定义错误日志的位置和日志级别,默认情况下注释掉。
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;# 定义存储 Nginx 进程 ID 的文件位置。
#pid        logs/nginx.pid;# 加载动态模块,这里包含所有在指定目录中的 .conf 文件。
include /usr/share/nginx/modules/*.conf;events {# 设置每个工作进程可以处理的最大连接数。worker_connections  1024;
}http {# 导入 MIME 类型映射文件,文件扩展名映射到 MIME 类型。include       mime.types;# 设置默认的 MIME 类型。default_type  application/octet-stream;# 定义日志格式,默认注释掉。#log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '#                  '$status $body_bytes_sent "$http_referer" '#                  '"$http_user_agent" "$http_x_forwarded_for"';# 指定访问日志的位置和使用的日志格式。#access_log  logs/access.log  main;# 启用高效的文件传输方式。sendfile        on;# 优化 TCP 包的传输,默认注释掉。#tcp_nopush     on;# 设置连接保持的超时时间,单位为秒。#keepalive_timeout  0;keepalive_timeout  65;# 启用 gzip 压缩。#gzip  on;server {# 监听端口号。listen       80;# 定义服务器名。server_name  localhost;# 设置字符集,默认注释掉。#charset koi8-r;# 定义 access log 的位置和格式。#access_log  logs/host.access.log  main;location / {# 定义当前 location 的根目录。root   html;# 定义默认的索引文件。index  index.html index.htm;}# 自定义错误页面。#error_page  404              /404.html;# 将服务器错误页面重定向到静态页面 /50x.htmlerror_page   500 502 503 504  /50x.html;location = /50x.html {# 定义错误页面文件所在的根目录。root   html;}# 将 PHP 脚本代理到监听在 127.0.0.1:80 上的 Apache。#location ~ \.php$ {#    proxy_pass   http://127.0.0.1;#}# 将 PHP 脚本传递给监听在 127.0.0.1:9000 的 FastCGI 服务器。#location ~ \.php$ {#    root           html;#    fastcgi_pass   127.0.0.1:9000;#    fastcgi_index  index.php;#    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;#    include        fastcgi_params;#}# 拒绝对 .htaccess 文件的访问,如果 Apache 的根目录与 nginx 的根目录相同时。#location ~ /\.ht {#    deny  all;#}}# 另一个虚拟主机配置示例,基于 IP、名称和端口的配置。#server {#    listen       8000;#    listen       somename:8080;#    server_name  somename  alias  another.alias;#    location / {#        root   html;#        index  index.html index.htm;#    }#}# HTTPS 服务器的配置示例。#server {#    listen       443 ssl;#    server_name  localhost;#    ssl_certificate      cert.pem;  # SSL 证书文件#    ssl_certificate_key  cert.key;  # SSL 证书密钥文件#    ssl_session_cache    shared:SSL:1m;#    ssl_session_timeout  5m;#    ssl_ciphers  HIGH:!aNULL:!MD5;#    ssl_prefer_server_ciphers  on;#    location / {#        root   html;#        index  index.html index.htm;#    }#}
}

5.nginx前端网页部署C:/cygwin64/usr/share/nginx/html

MariaDB(mysql的一个分支)

1.创建数据库目录 mkdir -p /var/lib/mysql

2.设置权限 chmod 700 /var/lib/mysql

3.修改 C:/cygwin64/etc/my.cnf

[mysqld]
max_connections = 300        # 最大连接数设置为300(默认通常是151)
table_cache= 400             # 表缓存大小设置为400(影响能同时打开的表数量)
lower_case_table_names=1     # 表名不区分大小写(1表示不区分,0表示区分,2表示保留大小写但比较时不区分)
log-error=/var/log/mysql/error.log  # 自定义错误日志路径

4.创建错误日志文件

5.初始化数据库 mysql_install_db --datadir=/var/lib/mysql

6.启动服务前台运行 mysqld_safe &

7.测试(无密码)

8.登录root用户 mysql -u root -p

9.设置密码 ALTER USER 'root'@'localhost' IDENTIFIED BY 'wuerluo0';

10.修改cygwin启动源文件C:/cygwin64/home/25848/.bashrc

10.重新打开桌面cygwin64

http://www.xdnf.cn/news/17223.html

相关文章:

  • 利用DeepSeek改写并增强测试Duckdb和sqlite的不同插入方法性能
  • 高可用改造之构建​​双活冗余的TDengine时序数据处理架构
  • LeetCode——2411. 按位或最大的最小子数组长度
  • 浮动路由和BFD配置
  • 协同过滤基础——基线预测器(Baseline Predictors)
  • hyper-v实战系列:显卡虚拟化(GPU分区)--windows篇详解
  • Spring配置JDBC,使用JdbcTemplate套件和Druid套件
  • java回顾八股文中想起的知识点
  • Docker使用的常见问题
  • 开源密码恢复实用程序 Hashcat 7.0.0 发布
  • cf.训练
  • 数据结构 实现单链表
  • STM32学习笔记2-GPIO的输出模式
  • 机器学习通关秘籍|Day 03:决策树、随机森林与线性回归
  • 去哪儿StarRocks实践
  • 2025国赛数学建模C题详细思路模型代码获取,备战国赛算法解析——层次分析法
  • RabbitMQ削峰填谷详解:让系统在流量洪峰中“稳如泰山”
  • 零基础人工智能学习规划之路
  • 从LCM到SomeIP,再到DDS:技术演进与工作原理剖析
  • NuGet03-私有仓库搭建
  • 虚幻GAS底层原理解剖二 (GE)
  • NumPy 重要知识点总结
  • 【RabbitMQ】高级特性—消息确认详解
  • PYQT学习笔记:signal 和 slot(信号与槽)
  • 数学建模算法-day[15]
  • 【web自动化测试】实战
  • scikit-learn工具介绍
  • Android Framework代码屏蔽未接来电振动及声音通知
  • 【Linux系统编程】线程概念与控制
  • 【力扣 Hot100】 刷题日记