解决调用未定义 swoole_async_readfile函数问题

解决调用未定义 swoole_async_readfile函数问题

大家好,又见面了,我是全栈君。

[root@vagrant-centos7 server]# php read.php 
PHP Fatal error:  Uncaught Error: Call to undefined function swoole_async_readfile() in /home/wwwroot/default/newproject/swoolechat/swoole-src/examples/server/read.php:13
Stack trace:
#0 {main}
  thrown in /home/wwwroot/default/newproject/swoolechat/swoole-src/examples/server/read.php on line 13

Fatal error: Uncaught Error: Call to undefined function swoole_async_readfile() in /home/wwwroot/default/newproject/swoolechat/swoole-src/examples/server/read.php:13
Stack trace:
#0 {main}
  thrown in /home/wwwroot/default/newproject/swoolechat/swoole-src/examples/server/read.php on line 13

 

解决调用未定义 swoole_async_readfile函数问题

解答:

https://github.com/swoole/swoole-src/issues/2439

https://segmentfault.com/q/1010000018413486?sort=created

https://wiki.swoole.com/wiki/page/p-async.html

解决调用未定义 swoole_async_readfile函数问题

4.3的版本移除所有异步模块, 分离异步扩展到 async-ext 移除的异步模块如下:

4.3版本开始需要额外安装swoole-async扩展才能使用异步模块
不要直接拉取 master 代码进行编译,请使用和 swoole 版本对应的 ext-async 的 release 版本https://github.com/swoole/ext-async/releases

Async系列函数
MySQL
Redis
HttpClient
MemoryPool
MsgQueue
RingQueue

如何才能解决这个问题呢?

使用协程替换,或者安装async-ext扩展https://github.com/swoole/ext-async

因为我的swoole版本为Version => 4.5.0-alpha 而最新的async-ext扩展版本为v4.4.14, 所以只能卸载swoole重新编译.

卸载参考:

https://blog.csdn.net/zhangzeshan/article/details/102568239

https://blog.csdn.net/lxw1844912514/article/details/103915055

解决调用未定义 swoole_async_readfile函数问题解决调用未定义 swoole_async_readfile函数问题

安装好后:

解决调用未定义 swoole_async_readfile函数问题

解决问题:

解决调用未定义 swoole_async_readfile函数问题

 

解决调用未定义 swoole_async_readfile函数问题

read.php文件:

<?php
/**
 * 异步读取文件
 *User: lxw
 *Date: 2020-01-20
 */

swoole_async_readfile(__DIR__ . '/1.txt',function ($filename, $fileContent){
    echo "filename:".$filename.PHP_EOL;
    echo "fileContent:".$fileContent.PHP_EOL;
    echo '内部start:'.time().PHP_EOL;
});

echo '外部start:'.time().PHP_EOL;

获取更多知识讲解微信搜索公众号: [ 码农编程进阶笔记 ]

链接

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/111936.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 推荐书籍:FFmpeg从入门到精通

    推荐书籍:FFmpeg从入门到精通本书是一本介绍FFmpeg的实战技术指南,全书共10章,分为两个部分。第一部分部分(第1~7章)为FFmpeg的命令行使用篇,介绍了FFmpeg的基础组成部分、FFmpeg工具使用、FFmpeg的封装操作、FFmpeg的转码操作、FFmpeg的流媒体操作、FFmpeg的滤镜操作、FFmpeg的设备操作。第二部分(第8~10章)为FFmpeg的API使用篇,介绍了FFmpeg封装部分的API使用操作、FFmpeg编解码部分的API使用操作,FFmpeg滤镜部分的API使用操作,相关操作均以实例方式进行

    2022年6月26日
    22
  • opencv中的merge函数

    opencv中的merge函数该函数用来合并通道原型voidmerge(constMat*mv,size_tcount,OutputArraydst);第一个参数是图像矩阵数组,第二个参数是需要合并矩阵的个数,第三个参数是输出voidmerge(constvector&mv,OutputArraydst);第一个参数是图像矩阵向量容器,第二个参数是输出,这种方法无需说

    2022年6月10日
    71
  • 使用VIM搜索多个文件[通俗易懂]

    使用VIM搜索多个文件[通俗易懂]使用vim可以方便的搜索多个文件,这个时侯需要使用的命令是:vimgrep。vimgrep的命令格式是::vim[grep][!]/{pattern}/[g][j]{file}…命令:vimgrep,grep可以省略。!是在你要放弃当前文件的修改时使用。{pattern}是需要搜索的内容。{file}是需要搜索的文件。比如命令::vimgr

    2022年9月24日
    2
  • 基于ArcGIS 二次开发 使用技巧总结

    基于ArcGIS 二次开发 使用技巧总结这两天刚忙完一个项目,趁着这几天任务轻松,抽空总结上一个项目所遇到的一些问题,都是很简单的基本操作,先列个大纲吧:一、地图的基本操作:1.工具栏的实现:包括放大、缩小、漫游、测线、测面、定位功能、比列尺、鹰眼图、动态获取所在的经纬度(传送门:https://blog.csdn.net/KK_bluebule/article/details/83414871)2.地图禁止平移,禁止放…

    2022年7月23日
    8
  • 时滞微分方程求解_泛函微分方程内容设计

    时滞微分方程求解_泛函微分方程内容设计时滞微分方程(DDE)是当前时间的解与过去时间的解相关的常微分方程。该时滞可以固定不变、与时间相关、与状态相关或与导数相关。要开始积分,通常必须提供历史解,以便求解器可以获取初始积分点之前的时间的解。常时滞DDE具有常时滞的微分方程组的形式如下:y′(t)=f(t,y(t),y(t−τ1),…,y(t−τk)).y'(t)=f(t,y(t),y(t−τ_1),…,y(t−τ_k)).y′(t)=f(t,y(t),y(t−τ1​),…,y(t−τk​)).此处,t为自变量,y为因变量的列向量,

    2022年10月1日
    0
  • Emgucv环境配置[通俗易懂]

        Emgucv是在.NET平台下使用OpenCV视觉库的桥梁,在使用之前需要对系统进行配置,其配置和OpenCV的配置有点不同。1、EmguCV下载下载网站:http://www.emgu.com/wiki/index.php/Main_Page该网站上有EmguCV的所有资料,包括教程。下载好之后,直接安装到电脑上,安装位置可任意。本文所配置的是EmguCV3.0.0版本。2、新建一个VS…

    2022年4月14日
    83

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号