您的位置:

编译php扩展swoole报错,php用swoole

本文目录一览:

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