解决调用未定义 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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 计算机网络 — HTTP协议 和 HTTPS[通俗易懂]

    计算机网络 — HTTP协议 和 HTTPS[通俗易懂]1.了解HTTP协议1.1HTTP是什么HTTP(HyperTextTransferProtocol,超文本传输协议)是一种应用非常广泛的应用层协议.所谓“超文本”的含义,就是传输的内容不仅仅是文本(比如html,css这个就是文本),还可以是一些其他的资源,比如图片,视频,音频等二进制的数据1.2抓包工具的使用1.Fiddler的下载①可以直接在官网下载Fiddler官网地址②也可以直接进入fiddler搜索页2.Fiddl

    2022年10月16日
    4
  • CDH秘籍(两):cloudera Manager存储监控数据

    CDH秘籍(两):cloudera Manager存储监控数据

    2022年1月6日
    69
  • C#面试题

    C#面试题值类型与引用类型1.值类型和引用类型的区别?值类型包括简单类型、结构体类型和枚举类型,引用类型包括自定义类、数组、接口、委托等。1、赋值方式:将一个值类型变量赋给另一个值类型变量时,将复制包含的值

    2022年6月30日
    25
  • 互联网研发部门组织架构_百度组织架构图2019

    互联网研发部门组织架构_百度组织架构图2019互联网业务研发架构体系指南(草稿V0.0.1)大纲业务技术 稳定性 【稳定性day0】稳定性治理的三种思想—亚马逊、Netflix与蚂蚁金服 【稳定性day1】从DBA到运维架构总监之路-专注的力量 【稳定性day2】当当网的高可用之道 【稳定性day3】蘑菇街的运维体系-如何撑住双十一 【稳定性day4】美团外卖高可用的演进之路-日活两千万的…

    2022年10月12日
    3
  • 什么是窗口句柄

    什么是窗口句柄什么是窗口句柄举个例子:你有你自己的身份证号,一报身份证号,你应该知道是你了你也有名字,当然名字复杂点,并且不是唯一,没有数字来得方便,所以,窗口句柄就相当于身份证号,每个窗口都有一个编号

    2022年7月1日
    24
  • ubuntu android studio_android自启动

    ubuntu android studio_android自启动(1)添加头文件:#include(2)在特定驱动结构体中添加early_suspend结构:#ifdefCONFIG_HAS_EARLYSUSPENDstructearly_suspendearly_suspend;#endif(3)在驱动probe函数中注册相关early_suspend结构体:#ifdefCONFIG_HAS_EARLYSUSPEND

    2022年9月18日
    3

发表回复

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

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