swoole 2 基礎概念與長連線
1. 同步與非同步
https://www.cnblogs.com/orez88/articles/2513460.html 對於程式的執行流程來說,一般是從上而下的方式來執行, 除非遇到流程控制語句會有一些變化, 但是原則上都會遵循這個原則; 對於PHP來說在單執行緒的模式下那麼一個程序在執行PHP程式碼的時候就會從第一行執 行到最後一行,那麼這個過程我們就可以認為這是同步的,如果中間遇到了sleep()就不得不等待一下執行; 這種模式基本上可以滿足於很多的應用場景; 但是並不是絕對的比如:像微信 在網站上登入的時候就會發一條資訊在自己的微信賬號上提醒你登入了 , 再比如一份訂單生成了之後對於使用者來說並不會立即收到貨,而這個發貨的過程我們就可以做成非同步的任務由 庫存模組處理 等等操作;2. 阻塞與非阻塞
3. swoole中的非同步回撥
[root@localhost file]# ls ext-async-master.zip swoole-src-4.4.12 swoole-src-4.4.12.tar.gz
[root@localhost file]# unzip ext-async-master.zip
[root@localhost file]# ls ext-async-master ext-async-master.zip swoole-src-4.4.12 swoole-src-4.4.12.tar.gz
[root@localhost file]# cd ext-async-master
[root@localhost ext-async-master]# phpize checking target system type... x86_64-unknown-linux-gnu configure: error: Cannot find php-config. Please use --with-php-config=PATH
[root@localhost ext-async-master]# find / -name php-config /www/server/php/72/src/scripts/php-config /www/server/php/72/bin/php-config [root@localhost ext-async-master]# ./configure --with-php-config=/www/server/php/72/bin/php-config [root@localhost ext-async-master]# make -j 4
[root@localhost ext-async-master]# sudo make install Installing shared extensions: /www/server/php/72/lib/php/extensions/no-debug-non-zts-20170718/
[root@localhost ext-async-master]# find / -name php.ini /www/server/php/72/etc/php.ini
[root@localhost ext-async-master]# vi /www/server/php/72/etc/php.ini 新增 extension=swoole_async.so
[root@localhost ext-async-master]# /etc/rc.d/init.d/php-fpm-72 restart
[root@localhost ext-async-master]# php -m | grep swoole swoole swoole_async