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

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

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

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

11.重新打开桌面cygwin64

12.mysqld阻塞用户输入问题(输出重定向)

12.1丢弃

  • > /dev/null:将标准输出(正常日志)丢弃
  • 2>&1:将错误输出也重定向到标准输出(一起丢弃)
  • 最后的 &:将进程放入后台运行,终端立即返回控制权

12.2 重定向(推荐)

  • --log-error=...:指定 mysqld 的错误日志路径(mysqld_safe 会自动将 mysqld 的错误输出写入这里)
  • > ... 2>&1:将 mysqld_safe 自身的输出(如启动信息)写入另一个日志文件
  • 最后的 &:确保进程在后台运行,不阻塞终端

http://www.dtcms.com/a/318392.html

相关文章:

  • 【完整源码+数据集+部署教程】爬行动物异常检测系统源码和数据集:改进yolo11-GhostDynamicConv
  • 一个php 连sqlserver 目标计算机积极拒绝,无法连接问题的解决
  • 第三节 YOLOv5数据集构成
  • 集成显卡 vs 独立显卡:如何通过设备管理器识别你的GPU?
  • Docker 常用命令介绍
  • 【docker】完整 Dockerfile 示例和构建运行指南
  • 飞浆 paddleocr 识别图片上文字的角度
  • 学习 Android(十四)NDK基础
  • OpenWebUI通过pipeline对接dify的workflow
  • 滑动窗口相关题目
  • VirtualBox 搭建 Linux 虚拟机全流程:Nginx 学习环境前置配置指南
  • ##Anolis OS 8.10 安装oracle19c
  • 广州汽车配件3d打印模型加工厂家-中科米堆CASAIM
  • 【计组】存储系统
  • 3479. 水果成篮 III
  • Tiny-cuda-nn安装指南
  • CVE-2021-1879
  • Linux系统编程——环境变量、命令行参数
  • Dart语言语法与技术重点
  • 数据结构—队列和栈
  • openGauss单实例安装
  • YOLOv11改进:集成FocusedLinearAttention与C2PSA注意力机制实现性能提升
  • Redis使用的常见问题及初步认识
  • PLC学习之路-数据类型与地址表示-(二)
  • WinXP配置一键还原的方法
  • 【golang面试题】Golang递归函数完全指南:从入门到性能优化
  • 五十二、【Linux系统shell脚本】正则表达式演示
  • 202506 电子学会青少年等级考试机器人五级实际操作真题
  • 数据结构:栈、队列
  • C语言的数组与字符串练习题1