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.pswp.cn/pingmian/92052.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/92052.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/92052.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Ethereum: Uniswap V3核心”Tick”如何引爆DEX的流動性革命?

大家好,今天,我們來聊聊一個在去中心化交易所(DEX)領域,尤其是自Uniswap V3問世以來,變得至關重要的概念——Tick(流動性邊界)。 如果大家接觸過DeFi,可能聽說過Uniswap …

【概念學習】什么是深度學習

人工智能 人工智能的簡潔定義如下:努力將通常由人類完成的智力任務自動化。 因此,人工智能是一個綜合性的領域,不僅包括機器學習與深度學習,還包括更多不涉及學習的方法。 在相當長的時間內,許多專家相信,只…

【MATLAB】(八)矩陣

一.矩陣的定義MATLAB 以矩陣作為數據操作的基本單位,這使得矩陣運算變得非常簡捷、方便、高效。矩陣是由m*n個數q(i1,2,…,m;j1,2,…,n),排成的m行n列數表,記成稱為 mxn 矩陣,也可以記成aij或Am*n。其中,i表示行數,j表…

python的高校考研交流系統

前端開發框架:vue.js 數據庫 mysql 版本不限 后端語言框架支持: 1 java(SSM/springboot)-idea/eclipse 2.NodejsVue.js -vscode 3.python(flask/django)–pycharm/vscode 4.php(thinkphp/laravel)-hbuilderx 數據庫工具:Navicat/SQLyog等都可以 在當今社…

從零開始部署Qwen3-8b大模型到本地

一、方法一(使用docker鏡像進行部署) 安裝Linux服務器,本機測試系統為Ubuntu系統;(帶有2張A100的GPU服務器) 思路為:使用docker部署python環境鏡像在此基礎上安裝vllm拉取Qwen3-8b模型 docker-compose.yml文件部分配…

AI產品經理如何理解和應用Transformer架構,以提升產品的技術能力和用戶體驗?

?你好,我是 ?三橋君? 助你邁向AGI時代!!! 📌本文介紹📌 >> 一、引言 在當今的AI浪潮中,Transformer架構已不再是一個陌生的技術名詞。從OpenAI的GPT系列到Google的BERT,再…

數據結構(四)內核鏈表、棧與隊列

一、內核鏈表基礎1. 什么是 Linux 內核鏈表?Linux 內核鏈表是一種高效的 雙向循環鏈表,廣泛應用于內核模塊開發中,用于管理數據結構。每個節點通過指針連接前一個和后一個元素,實現插入和刪除的高性能。2. 鏈表的定義與初始化在 L…

軟考信息安全工程師11月備考

目前是在職備考,主業是移動端開發工程師。第一個月(8.4-9.6),將分享完下面所有章節內容,平均不到兩天更新一節1.網絡信息安全概述2.網絡攻擊原理與常用方法3.密碼學基本理論4.網絡安全體系與網絡安全模型5.物理與環境安全技術6.認證技術與原理…

使用DrissionPage實現xhs筆記自動翻頁并爬取筆記視頻、圖片

使用DrissionPage實現xhs筆記自動翻頁并爬取筆記視頻、圖片 聲明: 本文章中所有內容僅供學習交流使用,不用于其他任何目的,不提供完整代碼,抓包內容、敏感網址、數據接口等均已做脫敏處理,嚴禁用于商業用途和非法用途,否則由此產生的一切后果均與作者無關! 本文章未經…

使用 input 上傳文件, 選擇文件后再次修改文件再上傳失敗( <input type=“file“ /> 自定義上傳)

業務實際需求:點擊【選擇】按鈕先選擇文件,展示文件的詳情:類型,大小,日期......點擊【上傳】按鈕這個時候才去上傳文件如圖:BUG復現:點擊上傳文件后發現xlsx文件有些數據沒填寫,然后…

Win11 下解決 VScode/Trae 插件加載慢, 整個 VScode/Trae 很卡

最近在使用 Trae 寫代碼, 突然變得很卡, 尤其是插件系統, 比如我打開插件的面板, 以及比如我想預覽一下寫好的 .md 文件 (已安裝了 Markdown Preview Enhanced 插件), 這些都要好幾分鐘才能打開. 最初以為是 Trae 壞掉了, 然后重啟 Trae 不管用, 再重啟電腦居然也不管用, 接著…

微型導軌:智能家居抽屜的智能化應用

當智能家居從“功能堆砌”轉向“體驗升級”,微型導軌憑借超薄結構、靜音運行與精準定位能力,成為隱藏式設計、自動化交互的核心部件,讓家具“動”得優雅且可靠。智能掃地機器人:微型導軌被應用于邊刷的伸縮調節機構,能…

百套易語言教程、易語言視頻教程【易語言編程入門教程】

百套易語言教程、易語言視頻教程【易語言編程入門教程】 易語言輔助教程(愛易編程論壇講師 24課講師:遠航 9課愛易編程論壇講師:愛易、小Call 8課).rar 時光論壇易語言全套教程【易語言零基礎易語言抓包易語言填表】完整版.rar 易…

nlp-詞匯分析

目錄 一、語言中的詞匯 1、詞的形態學 2、詞的詞性 二、詞語規范化 1、詞語切分 2、詞形還原 3、詞干提取 三、中文分詞 1、概述 2、基于最大匹配的中文分詞 3、基于線性鏈條件隨機場的中文分詞 4、基于感知器的中文分詞 詞序列預測 模型參數學習 特征定義 5、…

Kafka ISR機制和Raft區別:副本數優化的秘密

Kafka的ISR機制和像Raft這樣的傳統基于Quorum(法定人數)的協議之間的區別確實很微妙,但也非常重要。讓我們來分析一下為什么ISR可以減少所需的副本數量。在采用ISR模型和(f1)個副本數的配置下,一個Kafka分區…

新手向:GitCode疑難問題診療

Git疑難問題診療引言在軟件開發過程中,版本控制系統(VCS)是不可或缺的工具,而Git以其分布式架構、強大的分支管理能力和高效的性能成為行業標準。然而,隨著項目復雜度的提升,Git的使用也可能遇到各種疑難問…

電子電氣架構 ---如何煥新升級為 48V 電氣架構

我是穿拖鞋的漢子,魔都中堅持長期主義的汽車電子工程師。 老規矩,分享一段喜歡的文字,避免自己成為高知識低文化的工程師: 做到欲望極簡,了解自己的真實欲望,不受外在潮流的影響,不盲從,不跟風。把自己的精力全部用在自己。一是去掉多余,凡事找規律,基礎是誠信;二是…

JavaScript判斷數字方法

在JavaScript中,判斷一個值是否為數字有多種場景,以下是常見方法及適用情況:1. 嚴格判斷數字類型(排除NaN)使用 typeof 結合 !isNaN(),確保值是 number 類型且非 NaN:javascriptfunction isNumb…

C++編程之旅-- -- --始探門庭的求知漫溯(二)

目錄引用內聯函數(C11)auto關鍵字基于范圍的for循環指針空值---nullptr引用 引用:指將變量以另一個名稱來展現的。它并非是一個新變量而是一個別名,它們同指一塊內存空間。就如古時那些有字的人,亦或者是周樹人,你說魯迅是不是周樹人呢&…

wordpress網站的“管理員郵箱地址”有什么用?

在WordPress網站的“設置”-“常規”中設置的“管理員郵箱地址”有多種用途,以下是詳細介紹: 一、用戶注冊相關 密碼找回功能 當網站用戶忘記密碼時,他們會通過點擊登錄頁面上的“忘記密碼”鏈接來重置密碼。WordPress系統會向管理員郵箱地…