被 swoole 坑哭的 PHP 程序员本文重要记录一下学习 swoole 的过程、填过的坑以及 swoole 究竟有多么强大
首先说一下对 swoole 的理解:披着 PHP 外衣的 C 程序
诸多 PHPer 朋友看到 swoole 提供的强大功能、外界对其的崇拜便跃跃欲试的安装、调 试其demo、编写新功能,然后兴奋的奔走相告
没过几天当你按照自己的理解继续用 swoole 时,发现代码并没有按照自己的预期运行,然后开始破口大 骂,什么破东西呀,代码跟 demo 基本同样,为啥运行不通呢
什么狗屁work、task、共享内存、ipcs、异步,多种问题涌现,然后迅速去查官方文 档,发现文档中居然对这些并没有提及,只是简单的简介怎么使用,此时几乎对 swoole 丧失但愿
遇到的几点问题:1:有关 phper 常用的全局变量(global)为何在 onRequest 函数中不能使用
由于 swoole 是多线程编程,global 是不能在多种进程间共享的
global $i = 0; 2
function onRequest() { 4
echo $i++; 6
} 假如在 swoole 中写一种上面的程序,并不会每次访问输出一种递增的数字
假如要实现预期的效果,需要使用 swoole_table 的有关函数
2:什么是异步、什么是回高对于 phper 来说,对异步、回调的理解估计就是 ajax
当看到 swoole 里面对异步、回调的解释,貌似很简单的样子,就这样在没有任何多线程编辑经验的时候贸然用了 swoole,成果被坑的偷偷撸代码好几种彻夜来填自己的坑
3:为何 onReceive 收到的数据这样大客户端发送的多次祈求,服务端是可以一次性接受的
并不是客户端发送一次,服务端接受一次4:自制 httpserve写一种 http 服务端