前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >解决调用未定义 swoole_async_readfile函数问题

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

作者头像
全栈程序员站长
发布2022-07-11 14:16:04
4K0
发布2022-07-11 14:16:04
举报

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

代码语言:javascript
复制
[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函数问题
解决调用未定义 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函数问题
解决调用未定义 swoole_async_readfile函数问题

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

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

代码语言:javascript
复制
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函数问题
解决调用未定义 swoole_async_readfile函数问题

解决问题:

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

read.php文件:

代码语言:javascript
复制
<?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.cn/111936.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年2月1,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档