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

相关推荐

  • androidstudio 优化gradle编译效率[通俗易懂]

    androidstudio 优化gradle编译效率

    2022年1月24日
  • Scala学习笔记(一)

    Scala学习笔记(一)

    2021年9月11日
  • mybatis log plugin激活【2021.10最新】

    (mybatis log plugin激活)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html6EK6WKOHUX-eyJsaWN…

    2022年3月28日
  • 常用的字符串截取方法

    常用的字符串截取方法1取字符串的前i个字符str=str.substring(0,i);str=str.remove(i,str.Length-i);2去掉字符串的前i个字符:str=str.remove(0,i);str=str.substring(i);3从右边开始取i个字符:str=str.substring(str.Length-i);str=str.remove(0,str.Lengt…

    2022年5月10日
  • pycharm如何运行ipynb_python安装jupyter

    pycharm如何运行ipynb_python安装jupyter存在问题:jupyter代码无法在pycharm中运行原因:工作文件和安装文件不统一引起的解决方案:pycharm中新建工程项目时,要将图中所示红色部分勾选,从而保证可以引用到相应文件补充知识:jupyter在浏览器中代码不执行在机器学习的时候,当开始就遇到问题,pycharm启动jupyternotebook之后,浏览器前两行代码执行的好好的,后面就不执行了,上面的键全点了一遍(英语不行,…

    2022年8月27日
  • 关于maven打包时, 资源文件没有被打包进来的问题

    关于maven打包时, 资源文件没有被打包进来的问题在之前的一篇文章mybatis看这一篇就够了当中,提到过,在使用mybatis时,有时候需要把编写了SQL语句的XML文件,和Java类文件放在一起,如如果不加配置,用maven进行打包时,默认不会将src/main/java目录下的XML文件打包进去。因为src/main/java被设定为了源码目录,默认只会将其中的Java文件进行编译打包。即,默认打包得到的结果如下可以看到com.example.mp.mappers包下没有XML文件我们可以配置pom.xml中的resources标签,指定

    2022年5月29日

发表回复

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

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