宝塔Windows面板PHP安装Swoole Loader
宝塔Windows面板PHP安装Swoole Loader
百度大部分教程使用Cygwin,做了N期步骤,误人子弟。然后就有接下来我在win2012r2系统下安装宝塔,php7.2安装Swoole扩展教程。
安装前确认信息
上传{swoole-compiler-loader.php}确认信息
下载扩展
下载地址:
下载对应的Swoole Loader扩展,解压。
宝塔php7.4下正确配置Swoole
先在php7.4版配置下查找
[ioncube]
;zend_extension=php_ioncube.dll
在前面加个;禁用,因为swoole 和ioncube.dll冲突,不能同时使用。
然后按下面步骤安装:
1 – 点击下载 windows PHP7.4 Swoole Loader扩展文件
2 – 安装Swoole Loader
将刚才下载的Swoole Loader扩展文件(php_swoole_loader_php74_nzts_x64.dll)上传到当前PHP的扩展安装目录中:ext
3 – 修改php.ini配置(如已修改配置,请忽略此步骤,不必重复添加)
编辑此PHP配置文件:C:\BtSoft\php\74\php.ini
在此文件底部结尾处加入如下配置并且保存 :extension=php_swoole_loader_php74_nzts_x64.dll
注意:需要名称和刚才上传到当前PHP的扩展安装目录中的文件名一致
最后 – 重启PHP或者重启服务器,刷新当前页面即可
PHP通用配置Swoole
解压出来的Swoole Loader扩展文件{swoole_loader版本号.dll}上传到当前PHP的扩展安装目录中:ext
修改php.ini配置
编辑此PHP配置文件:C:\BtSoft\php\72\php.ini,在此文件底部结尾处加入如下配置
extension=刚才上传的文件名.dll
需要名称和刚才上传到当前PHP的扩展安装目录中的文件名一致
最后重载php7.2配置,检查是否安装成功。
注意
扩展冲突
由于某些跟踪调试的 PHP
扩展大量使用了全局变量,可能会导致 Swoole
协程发生崩溃。请关闭以下相关扩展:
- xdebug
- phptrace
- aop
- molten
- xhprof
- phalcon(
Swoole
协程无法运行在phalcon
框架中)
其中 xdebug
和 phptrace
可以用 sdebug 代替;
xhprof
、blackfire
和 molten
可
用 SwooleTracker 代替。
安装过程中发现与php_phalcon.dll有冲突,记得妥善处理。
======================分隔库=================
IIS+PHP安装步骤如下:
第一步下载:swoole官网下载Swoole – PHP 协程框架cygwin-x64,只支持 64 位的系统;或到网盘下载
第二步解压到指定文件夹:G:\swoole-cli-v5.0.3-cygwin-x64
第三步设置环境变量:把解压后的文件夹下的 bin 目录路径配置到系统的 Path 环境变量中,确定保存
第四步检查安装情况:打开CMD命令行输入:swoole-cli -v,安装成功
第五步:编写简单的WebSocket服务器代码:sw.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
<?php //创建WebSocket Server对象,监听0.0.0.0:9502端口。 $ws = new Swoole\WebSocket\Server('0.0.0.0', 9502); //监听WebSocket连接打开事件。 $ws->on('Open', function ($ws, $request) { echo "Message: {$request->fd} is in!\n"; $ws->push($request->fd, "hello, welcome!xw\n"); }); //监听WebSocket消息事件。 $ws->on('Message', function ($ws, $frame) { echo "Message: {$frame->data}\n"; $ws->push($frame->fd, "server: {$frame->data}"); }); //监听WebSocket连接关闭事件。 $ws->on('Close', function ($ws, $fd) { echo "client-{$fd} is closed\n"; }); $ws->start(); |
第六步:编写简单的WebSocket客户端代码:index.html,客户端index使用phpstudy虚拟域名指向,配置可以在浏览器打开访问
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
<!doctype html> <html> <head> <meta charset="utf-8"> <title>swoole-cli demo</title> </head> <body> <script> var wsServer = 'ws://127.0.0.1:9502'; var websocket = new WebSocket(wsServer); websocket.onopen = function (evt) { console.log("Connected to WebSocket server."); }; websocket.onclose = function (evt) { console.log("Disconnected"); }; websocket.onmessage = function (evt) { console.log('Retrieved data from server: ' + evt.data); }; websocket.onerror = function (evt, e) { console.log('Error occured: ' + evt.data); }; </script> </body> </html> |
第七步:运行服务端:swoole-cli sw.php;浏览器访问客户端index.html,完成!
======================分隔库==============================
LINUX 安装步骤如下:
1 – 点击下载 unix PHP7.4 Swoole Loader扩展文件
2 – 安装Swoole Loader
将刚才下载的Swoole Loader扩展文件(swoole_loader74.so)上传到当前PHP的扩展安装目录中:/www/server/php/74/lib/php/extensions/no-debug-non-zts-20190902
3 – 修改php.ini配置(如已修改配置,请忽略此步骤,不必重复添加)
编辑此PHP配置文件:/www/server/php/74/etc/php.ini
在此文件底部结尾处加入如下配置并且保存 :extension=swoole_loader74.so
注意:需要名称和刚才上传到当前PHP的扩展安装目录中的文件名一致
4 – 重启PHP或者重启服务器
1. 带 [亲测] 说明源码已经被站长亲测过!
2. 下载后的源码请在24小时内删除,仅供学习用途!
3. 分享目的仅供大家学习和交流,请不要用于商业用途!
4. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
5. 本站所有资源来源于站长上传和网络,如有侵权请邮件联系站长!
6. 没带 [亲测] 代表站长时间紧促,站长会保持每天更新 [亲测] 源码 !
7. 盗版ripro用户购买ripro美化无担保,若设置不成功/不生效我们不支持退款!
8. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
9. 如果你也有好源码或者教程,可以到审核区发布,分享有金币奖励和额外收入!
10.如果您购买了某个产品,而我们还没来得及更新,请联系站长或留言催更,谢谢理解 !
GG资源网 » 宝塔Windows面板PHP安装Swoole Loader