本文目录一览:
- 1、windows sever2016怎么安装swoole
- 2、php代码在WSL系统上运行swoole 扩展.还需要安装搭建服务器吗?
- 3、很多人问为什么swoole不支持php
- 4、在 swoole 里面 swoole\coroutine\redis 没有发现怎么回事
windows sever2016怎么安装swoole
1.1、打开下载好的cygwin安装包,开始安装cygwin。
1.1.1、一直下一步,下一步到选择cygwin的安装目录(这个同时也会是swoole的安装目录):
1.1.2、选择文件包下载的存放位置:
1.1.3、选择(所要连接的)服务器(用于后续下载文件):
此处需要选择一个服务器,之后就是从该服务器下载对应的安装所需的模块文件了。
因此,此处如果选择的服务器不合适的话,尽管你的网络本身速度很快,但是此处下载速度很慢。
所以,此处需要选择一个速度比较快的服务器。
对于国内来说,连接很多国外的服务器,速度一般都很慢。
不过,目前已经的,口碑较好的,速度较快的服务器,是近几年刚出现的163的服务器。
所以,此处对于多数人,最好的选择就是选择163的服务器。
此处,我这里,由图可见,已经默认选择好了163的服务器,所以不需要额外设置了。
如果你的选择其他的服务器,而且服务器列表中也找不到163的话,那么可以自己手动添加:
在Use URL处,输入:
1.1.4、选择安装的软件包,这里需要安装gcc、php、php开发工具、autoconf、pcre-devel,其它默认,这里注意的是,在上方的搜索栏搜索后,在下边找到对应的软件包选中,点击下一步按钮开始安装。(注意:下方的截图是我安装后界面,点击的位置一样,后边的图标可能不一样哦)
1.1.5、然后就是下一步下一步直到Cygwin安装完成。
2、安装swoole
2.1、解压swoole的源程序到Cygwin的项目根目录(如:/home/project)。
可以直接把压缩包放到/home/project目录下,右键解压,也可以用命令执行,随你。图方便,这里我直接使用右键方式解压。(命令解压:tar -zcvf file swoole-src-1.8.11-rc1.tar.gz)
2.2、打开Cygwin软件(注意:要是你的Cygwin也安装在C盘,那你得注意了,安装swoole的时候有可能报错,解决办法是右键管理员身份打开Cygwin)。
2.3、此时的环境就好似linux的终端,而根目录就是Cygwin的安装目录,在界面输入命令:cd /home/project/swoole,其中swoole是解压的源程序。
2.4、输入命令:phpize,生成编译的配置文件configure。
2.5、输入命令:./configure make make install
配置、编译、编译安装swoole
(PS:执行./configure,除了编译配置,还会检测环境等等)
2.6、使用命令: php -i | grep php.ini,找到php cli使用的配置文件php.ini的路径。
2.7、修改php.ini文件,在文件中添加一行:extension=swoole.so。
(PS: 1. 如果对linux下的vi编辑器不熟悉,可以在Windows下打开php.ini文件;2. 因为swoole已经改变了php的编程方式,所以建议关闭配置文件中的除swoole扩展之外的其它所有扩展,方法是在其前面加上“;”英文分号)。
2.7.1、linux下的vi编辑器。
2.7.2、手动打开修改。
2.8、关闭退出。
2.9、使用命令:php -m,查看加载的模块,如果看到swoole,则扩展添加成功,到此环境搭建成功!
环境测试
1、在源程序中有一个examples文件夹,里边是一些范例程序,我们这里以运行一个http服务器做示范,进入到http范例程序目录,在Cygwin中输入命令:php server.php,因为http服务器的范例程序是放在http目录中的,用命令运行这个范例程序
2、打开浏览器,在地址栏输入:127.0.0.1:9501,回车显示Hello swoole,成功!
总结分析
1、此方法虽然可以在Windows下成功搭建swoole,但是php版本最高也就5.4,对于项目php版本需求高于5.4的就没法使用了。这里是不是可以对其php版本升级呢?本人还没有尝试过,待后续...。如果有哪位大神成功升级,望留言说明方法以及提供建议,以此使我以及大众少走弯路,不胜感激。
2、搭建成功后会生成自己的一个类似PphStudy环境的“IBOS控制中心”,运行swoole的时候得用这个环境运行,不需要再安装别的php环境。
3、生成很多自带无用的表,看着不太舒服。数据库表也不好操作,本人还是习惯用navicat。
php代码在WSL系统上运行swoole 扩展.还需要安装搭建服务器吗?
swoole扩展是PHP扩展。php swoole扩展,PHP语言的高性能网络通信框架,提供了PHP语言的异步多线程服务器,异步TCP/UDP网络客户端,异步MySQL,数据库连接池,AsyncTask,消息队列,毫e799bee5baa6e58685e5aeb931333363383433秒定时器,异步文件读写,异步DNS查询。
1、下载swoole源码包
[root@nginx ~]# wget
2、解压进入swoole文件夹
[root@nginx ~]# tar -zxvf swoole-1.7.17-stable
[root@nginx ~]# cd swoole-src-swoole-1.7.17-stable/
3、编译安装swoole
[root@nginx swoole-src-swoole-1.7.17-stable]# phpize
[root@nginx swoole-src-swoole-1.7.17-stable]# ./configure
[root@nginx swoole-src-swoole-1.7.17-stable]# make make install
4、php.ini配置文件加载swoole.so模块
[root@nginx swoole-src-swoole-1.7.17-stable]# vi /usr/local/php/lib/php.ini
注意 php命令行运行和浏览器运行的配置文件不一样。
php 命令行的配置:
[root@nginx swoole-src-swoole-1.7.17-stable]# php --ini
Configuration File (php.ini) Path: /usr/local/lib
Loaded Configuration File: /usr/local/lib/php.ini//配置文件
Scan for additional .ini files in: (none)
Additional .ini files parsed: (none)
5、查看swoole模块是否已经安装成功
[root@nginx swoole-src-swoole-1.7.17-stable]# php -m
6、编写服务端httpServer.php文件并运行
$serv = new swoole_server("127.0.0.1", 9501);
$serv-on('connect', function ($serv, $fd){
echo "Client:Connect.\n";
});
$serv-on('receive', function ($serv, $fd, $from_id, $data) {
$serv-send($fd, 'Swoole: '.$data);
});
$serv-on('close', function ($serv, $fd) {
echo "Client: Close.\n";
});
$serv-start();
运行httpServer.php
[root@nginx swoole-src-swoole-1.7.17-stable]# php httpServer.php
7、用telnet测试
[root@nginx ~]# telnet 127.0.0.1 9501
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
hello 客户端
Swoole: hello 服务端
很多人问为什么swoole不支持php
swoole最好是运行在linux下,windows会发生这样那样的事,并且,请配置好,在phpinfo()中可以看到swoole扩展,才算开启
在 swoole 里面 swoole\coroutine\redis 没有发现怎么回事
先启动redis_client-connect,然后再调用swoole_server时报错:
PHP Fatal error: swoole_server::__construct(): eventLoop has been created. Unable to create swoole_server