当前位置: 首页 > 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.lryc.cn/news/612413.html

相关文章:

  • Redis使用的常见问题及初步认识
  • JDK17新特性全解析
  • TFTP: Linux 系统安装 TFTP,文件系统启动后TFTP使用
  • win服务器系统10060问题解决
  • 【CSS】动态修改浏览器滚动条宽度
  • 楼宇自控系统对建筑碳中和目标的实现具重要价值
  • mysql死锁的常用解决办法
  • Java 里的Tree初认识
  • 【概念学习】什么是深度学习
  • 12、Docker Compose 安装 Redis
  • Effective C++ 条款25:考虑写出一个不抛异常的swap函数
  • 【前端开发】五. ES5和ES6对比
  • imx6ull-驱动开发篇11——gpio子系统
  • 常用排序方法
  • 排序算法归并排序
  • 单变量单步时序预测:CNN-BiGRU卷积神经网络结合双向门控循环单元
  • 202506 电子学会青少年等级考试机器人六级实际操作真题
  • 基于RPR模型的机械臂手写器simulink建模与仿真
  • Qt Frameless Widget跨平台无边框窗口
  • 机器学习-KNN​​
  • 云平台托管集群:EKS、GKE、AKS 深度解析与选型指南-第四章
  • iT 运维: WindoWs CMD 命令表
  • Flutter开发 Image组件使用示例
  • <form> + <iframe> 方式下载大文件的机制
  • 基于Github Pages搭建个人博客站点:hexo环境搭建、本地预览与发布
  • 当前就业形势下,软件测试工程师职业发展与自我提升的必要性
  • AI 软件工程开发 AI 算法 架构与业务
  • [FBCTF2019]RCEService
  • Kafka-exporter采集参数调整方案
  • android NDK 报错日志解读和还原报错方法名