æ¬ç¯å
容主è¦è®²è¿°äºææ°ç`think-swoole`æ©å±ç使ç¨ãç®åä»
æ¯æLinuxç¯å¢æè
MacOsä¸è¿è¡ï¼è¦æ±`swoole`çæ¬ä¸º`4.3.1+`ã
> ç±äº `think-swoole`æ¯åºäº`swoole`çï¼è¦äºè§£è¿ä¸ªæ©å±å¦ä½ä½¿ç¨ï¼é¦å
éè¦å¯¹`swoole`æä¸å®çäºè§£ï¼è¿ä¹æ¯æ¬æé
读çåæï¼å
·ä½å¯ä»¥åè Swooleå®æ¹ææ¡£å
容ï¼[https://wiki.swoole.com](https://wiki.swoole.com)
## å®è£
é¦å
æç
§`Swoole`å®ç½è¯´æå®è£
`swoole`æ©å±ï¼ç¶å使ç¨
~~~
composer require topthink/think-swoole
~~~
å®è£
`think-swoole`æ©å±ã
>[danger] ç±äº`Swoole`ä¸æ¯æ`windows`ç¯å¢ï¼æä»¥ä½ æ æ³å¨`windows`ç¯å¢ä¸æµè¯ï¼åªè½ä½¿ç¨èææºæè
`WSL`ç¯å¢æµè¯ã
## `HTTP`æå¡
ç´æ¥å¨å½ä»¤è¡ä¸å¯å¨HTTPæå¡ç«¯ã
~~~
php think swoole
~~~
å¯å¨å®æåï¼é»è®¤ä¼å¨`0.0.0.0:80`å¯å¨ä¸ä¸ªHTTP Serverï¼å¯ä»¥ç´æ¥è®¿é®å½åçåºç¨ãç¸å
³é
ç½®åæ°å¯ä»¥å¨`config/swoole.php`éé¢é
ç½®ï¼å
·ä½åèé
ç½®æ件å
容ï¼ã
æ¯æçå
¶å®æä½å
æ¬ï¼
å¯å¨HTTPæå¡ï¼é»è®¤ï¼
~~~
php think swoole start
~~~
åæ¢æå¡
~~~
php think swoole stop
~~~
éå¯æå¡
~~~
php think swoole restart
~~~
`reload`æå¡
~~~
php think swoole reload
~~~
### å®æ¤è¿ç¨æ¨¡å¼
å¦æéè¦ä½¿ç¨å®æ¤è¿ç¨æ¹å¼è¿è¡ï¼å¯ä»¥é
ç½®
~~~
'options' => [
'daemonize' => true
]
~~~
## çæ´æ°
ç±äº`Swoole`æå¡è¿è¡è¿ç¨ä¸PHPæ件æ¯å¸¸é©»å
åè¿è¡çï¼è¿æ ·å¯ä»¥é¿å
éå¤è¯»åç£çãéå¤è§£éç¼è¯PHPï¼ä»¥ä¾¿è¾¾å°æé«æ§è½ãæ以æ´æ¹ä¸å¡ä»£ç åå¿
é¡»æå¨`reload`æè
`restart`æè½çæã
`think-swoole`æ©å±æä¾äºçæ´æ°åè½ï¼å¨æ£æµå°ç¸å
³ç®å½çæ件ææ´æ°åä¼èªå¨`reload`ï¼ä»èä¸éè¦æå¨è¿è¡`reload`æä½ï¼æ¹ä¾¿å¼åè°è¯ã
å¦æä½ çåºç¨å¼å¯äºè°è¯æ¨¡å¼ï¼é»è®¤æ¯å¼å¯çæ´æ°çãååä¸ï¼å¨é¨ç½²æ¨¡å¼ä¸ä¸å»ºè®®å¼å¯æ件çæ§ï¼ä¸æ¹é¢ææ§è½æèï¼å¦å¤ä¸æ¹é¢å¯¹æ件æåçä»»ä½ä¿®æ¹é½éè¦ç¡®è®¤æ 误æè½è¿è¡æ´æ°é¨ç½²ã
çæ´æ°çé»è®¤é
ç½®å¦ä¸ï¼
![](https://img.kancloud.cn/52/18/52181406361448d118fe78f5777199e9_932x242.png)
å½æ们å¨åºç¨çæ ¹ç®å½ä¸å®ä¹ä¸ä¸ªç¹æ®ç`.env`ç¯å¢åéæ件ï¼éé¢è®¾ç½®äº`APP_DEBUG = true`ä¼é»è®¤å¼å¯çæ´æ°ï¼ä½ ä¹å¯ä»¥ç´æ¥æ`enable`设置为trueã
åæ°è¯´æï¼
| åæ° | 说æ |
| --- | --- |
| enable | æ¯å¦å¼å¯çæ´æ° |
| name | ç®åç¹è¯´å°±æ¯çæ§é£äºç±»åçæ件åå¨ |
| include | ç®åç¹è¯´å°±æ¯çæ§é£äºè·¯å¾ä¸çæ件åå¨ |
| exclude | æé¤ç®å½ |
## è¿æ¥æ±
`think-swoole` é»è®¤æå®ç°æ°æ®åºåç¼åè¿æ¥æ± åè½ï¼æ¶µçäºæ¥å¸¸å¼åç主è¦åºæ¯ã
ææ°ç`swoole`çæ¬æ¯æ[ä¸é®åç¨](https://wiki.swoole.com/#/runtime)ï¼æ¯å¦`redis`ã`mysql`ççï¼å¾æ¹ä¾¿ãè¿æ¥æ± æ¯å¨è¿ä¸ªåºç¡ä¸ï¼è§£å³ä¸äºé®é¢å对æ§è½çåä¸æ¬¡æåã
è¦å¼å¯ä¸é®åç¨ï¼éè¦é
ç½®å¦ä¸åæ°
![](https://img.kancloud.cn/66/c5/66c57507adea3a39dbe4495abd2d2e29_546x168.png)
è¿ééè¦è®¾ç½®ä¸ºtrueï¼é»è®¤å·²ç»æå¼ï¼flagsé»è®¤å³å¯ã
è¿æ¥æ± çé
ç½®åæ°å¦ä¸ï¼
![](https://img.kancloud.cn/5c/93/5c93c3a94b9c5f3da44b4cb9563b3e8c_512x504.png)
åæ°è¯´æï¼
| åæ° | 说æ |
| --- | --- |
| enable | å¼å
³ï¼ä¸éè¦è®¾ç½®false |
| max\_active | æ大è¿æ¥æ°ï¼è¶
è¿å°ä¸åæ°å»ºè¿æ¥ |
| max\_wait\_time | è¶
æ¶æ¶é´ |
å
¶ä¸ç`max_active`å`max_wait_time`éè¦æ ¹æ®èªèº«ä¸å¡åç¯å¢è¿è¡éå½è°æ´ï¼æ大åæé«ç³»ç»è´è½½ã
- åºè¨
- åºç¡
- å®è£
- å¼åè§è
- ç®å½ç»æ
- é ç½®
- æ¶æ
- 请æ±æµç¨
- æ¶ææ»è§
- å ¥å£æ件
- å¤åºç¨æ¨¡å¼
- URL访é®
- 容å¨åä¾èµæ³¨å ¥
- æå¡
- é¨é¢
- ä¸é´ä»¶
- äºä»¶
- è·¯ç±
- è·¯ç±å®ä¹
- åéè§å
- è·¯ç±å°å
- è·¯ç±åæ°
- è·¯ç±ä¸é´ä»¶
- è·¯ç±åç»
- èµæºè·¯ç±
- 注解路ç±
- è·¯ç±ç»å®
- ååè·¯ç±
- MISSè·¯ç±
- è·¨å请æ±
- URLçæ
- æ§å¶å¨
- æ§å¶å¨å®ä¹
- åºç¡æ§å¶å¨
- 空æ§å¶å¨
- èµæºæ§å¶å¨
- æ§å¶å¨ä¸é´ä»¶
- 请æ±
- 请æ±å¯¹è±¡
- 请æ±ä¿¡æ¯
- è¾å ¥åé
- 请æ±ç±»å
- HTTP头信æ¯
- 伪éæ
- åæ°ç»å®
- 请æ±ç¼å
- ååº
- ååºè¾åº
- ååºåæ°
- éå®å
- æ件ä¸è½½
- æ°æ®åº
- è¿æ¥æ°æ®åº
- åå¸å¼æ°æ®åº
- æ¥è¯¢æé å¨
- æ¥è¯¢æ°æ®
- æ·»å æ°æ®
- æ´æ°æ°æ®
- å é¤æ°æ®
- æ¥è¯¢è¡¨è¾¾å¼
- é¾å¼æä½
- where
- table
- alias
- field
- strict
- limit
- page
- order
- group
- having
- join
- union
- distinct
- lock
- cache
- comment
- fetchSql
- force
- partition
- failException
- sequence
- replace
- extra
- duplicate
- procedure
- èåæ¥è¯¢
- å页æ¥è¯¢
- æ¶é´æ¥è¯¢
- é«çº§æ¥è¯¢
- è§å¾æ¥è¯¢
- JSONå段
- åæ¥è¯¢
- åçæ¥è¯¢
- æ¥è¯¢äºä»¶
- è·åå¨
- äºå¡æä½
- åå¨è¿ç¨
- æ°æ®é
- æ°æ®åºé©±å¨
- 模å
- å®ä¹
- 模åå段
- æ°å¢
- æ´æ°
- å é¤
- æ¥è¯¢
- æ¥è¯¢èå´
- JSONå段
- è·åå¨
- ä¿®æ¹å¨
- æç´¢å¨
- æ°æ®é
- èªå¨æ¶é´æ³
- åªè¯»å段
- 软å é¤
- ç±»å转æ¢
- 模åè¾åº
- 模åäºä»¶
- 模åå ³è
- ä¸å¯¹ä¸å ³è
- ä¸å¯¹å¤å ³è
- è¿ç¨ä¸å¯¹å¤
- è¿ç¨ä¸å¯¹ä¸
- å¤å¯¹å¤å ³è
- å¤æå ³è
- å ³èé¢è½½å ¥
- å ³èç»è®¡
- å ³èè¾åº
- è§å¾
- 模æ¿åé
- è§å¾è¿æ»¤
- 模æ¿æ¸²æ
- 模æ¿å¼æ
- è§å¾é©±å¨
- é误åæ¥å¿
- å¼å¸¸å¤ç
- æ¥å¿å¤ç
- è°è¯
- è°è¯æ¨¡å¼
- Traceè°è¯
- SQLè°è¯
- åéè°è¯
- è¿ç¨è°è¯
- éªè¯
- éªè¯å¨
- éªè¯è§å
- é误信æ¯
- éªè¯åºæ¯
- è·¯ç±éªè¯
- å ç½®è§å
- 表å令ç
- 注解éªè¯
- æ项
- ç¼å
- Session
- Cookie
- å¤è¯è¨
- ä¸ä¼
- å½ä»¤è¡
- å¯å¨å ç½®æå¡å¨
- æ¥ççæ¬
- èªå¨çæåºç¨ç®å½
- å建类åºæ件
- æ¸ é¤ç¼åæ件
- çææ°æ®è¡¨å段ç¼å
- çæè·¯ç±æ å°ç¼å
- è¾åºè·¯ç±å®ä¹
- èªå®ä¹æ令
- æ©å±åº
- æ°æ®åºè¿ç§»å·¥å ·
- Workerman
- thinkå©æå·¥å ·åº
- éªè¯ç
- Swoole
- éå½
- å©æå½æ°
- å级æ导
- æ´æ°æ¥å¿