编译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

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/197679.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-03 20:05
下一篇 2024-12-03 20:05

相关推荐

  • java client.getacsresponse 编译报错解决方法

    java client.getacsresponse 编译报错是Java编程过程中常见的错误,常见的原因是代码的语法错误、类库依赖问题和编译环境的配置问题。下面将从多个方面进行分析…

    编程 2025-04-29
  • PHP和Python哪个好找工作?

    PHP和Python都是非常流行的编程语言,它们被广泛应用于不同领域的开发中。但是,在考虑择业方向的时候,很多人都会有一个问题:PHP和Python哪个好找工作?这篇文章将从多个方…

    编程 2025-04-29
  • PHP怎么接币

    想要在自己的网站或应用中接受比特币等加密货币的支付,就需要对该加密货币拥有一定的了解,并使用对应的API进行开发。本文将从多个方面详细阐述如何使用PHP接受加密货币的支付。 一、环…

    编程 2025-04-29
  • Python运行不报错又无任何结果输出可能产生的原因以及解决方法

    在Python编程过程中,有时候会出现程序运行不报错但却没有任何结果输出的情况。本文将从多个方面解析这个问题,并提供相应的解决方法。 一、语法错误 语法错误是Python程序中最常…

    编程 2025-04-29
  • Java 监控接口返回信息报错信息怎么处理

    本文将从多个方面对 Java 监控接口返回信息报错信息的处理方法进行详细的阐述,其中包括如何捕获异常、如何使用日志输出错误信息、以及如何通过异常处理机制解决报错问题等等。以下是详细…

    编程 2025-04-29
  • Python切片索引越界是否会报错

    解答:当对一个字符串、列表、元组进行切片时,如果索引越界会返回空序列,不会报错。 一、切片索引的概念 切片是指对序列进行操作,从其中一段截取一个新序列。序列可以是字符串、列表、元组…

    编程 2025-04-29
  • 如何解决Grid监控报错prvg-1205

    Grid监控是Oracle RAC的重要组件,它可以帮助监视RAC集群的运行状态和性能,对于集群管理非常关键。但是,如果在安装过程中遇到报错prvg-1205,将会导致安装失败,影…

    编程 2025-04-28
  • 使用PHP foreach遍历有相同属性的值

    本篇文章将介绍如何使用PHP foreach遍历具有相同属性的值,并给出相应的代码示例。 一、基础概念 在讲解如何使用PHP foreach遍历有相同属性的值之前,我们需要先了解几…

    编程 2025-04-28
  • PHP获取301跳转后的地址

    本文将为大家介绍如何使用PHP获取301跳转后的地址。301重定向是什么呢?当我们访问一个网页A,但是它已经被迁移到了另一个地址B,此时若服务器端做了301重定向,那么你的浏览器在…

    编程 2025-04-27
  • 如何解决Docker+k8s报错413 Request Entity Too Large

    对于使用Docker容器和Kubernetes集群的开发人员,在处理HTTP请求时,常常会遇到413 Request Entity Too Large的报错。这通常是由于请求的大小…

    编程 2025-04-27

发表回复

登录后才能评论