讲师中心 微信公众号
AI工具推荐 视频效率加速

php下载安装后swoole扩展怎么安装_异步框架支持【汇总】

千婷酱_5940

千婷酱_5940

发布时间:2026-01-01 21:27:10

|

477人浏览过

|

来源于php中文网

原创

安装 Swoole 前须核对 PHP 主版本(如 8.1/8.2/8.3),Swoole 5.x 要求 PHP ≥ 8.0,4.8.x 是最后一个支持 PHP 7.4 的稳定版;Linux 推荐用 pecl 安装并确保已装 php-dev 或 php-devel;Windows 需下载匹配 TS/NTS、VC 版本的预编译 DLL 并手动配置 php.ini;安装后需用 php --ri swoole 验证,并显式启用协程 Hook 才能实现异步。

php下载安装后swoole扩展怎么安装_异步框架支持【汇总】

确认 PHP 版本和 Swoole 兼容性

安装 Swoole 前必须核对 php -v 输出的 PHP 主版本(如 8.1、8.2、8.3),Swoole 5.x 要求 PHP ≥ 8.0,Swoole 4.8.x 是最后一个支持 PHP 7.4 的稳定系列。用 php-config --version 查实际编译版本,避免因系统多 PHP 环境导致扩展装错位置。

  • PHP 8.3 + 推荐装 swoole 5.1.x
  • PHP 7.4 仅能用 swoole 4.8.13 及以下
  • php --ri swoole 在安装后验证是否加载成功,而非只看 php -m | grep swoole

Linux 下用 pecl 安装最稳妥

pecl 自动适配当前 phpize 和 php-config 路径,比手动编译出错率低。前提是已安装 php-dev(Ubuntu/Debian)或 php-devel(CentOS/RHEL)包。

sudo apt install php-dev  # Ubuntu/Debian
sudo yum install php-devel  # CentOS 7
sudo dnf install php-devel  # CentOS 8+/AlmaLinux

然后执行:

pecl install swoole
# 安装过程中会提示是否启用某些特性,回车默认即可(如 async-redis、openssl 支持)
# 成功后自动写入 extension=swoole.so 到 /etc/php/*/cli/conf.d/20-swoole.ini

若报错 ERROR: failed to mkdir /tmp/pear/install,说明临时目录权限不足,加 -d temp_dir=/var/tmp 指定路径。

立即学习“PHP免费学习笔记(深入)”;

amphp
amphp

使用 AMPHP 框架编写非阻塞异步 PHP 代码,依赖 revolt/event-loop、amphp/amp ^3 及完整 amphp/* 生态(http‑server、http‑client 等)。

下载

Windows 下只能用预编译 DLL(无源码编译)

PHP for Windows 不提供 phpize 工具,也不能用 pecl 编译,必须下载对应版本的 .dll 文件。去 https://www.php.cn/link/948d25d346008436180931cd87fb5cf1 找匹配项:

  • PHP 线程安全(TS)还是非线程安全(NTS)?查 phpinfo() 中 Thread Safety 行
  • VC 版本:PHP 8.2 VC17、PHP 8.1 VC16 —— 必须一致,否则 PHP Startup: Unable to load dynamic library 'swoole'
  • 扩展文件名形如 php_swoole-5.1.1-8.2-ts-vs17-x64.dll,重命名为 php_swoole.dll 放入 ext/ 目录
  • 在 php.ini 加一行:extension=php_swoole.dll

验证异步能力是否真正生效

装完只是第一步,Swoole 默认不开启协程 Hook,file_get_contents、cURL 等仍是同步阻塞。要真正获得异步效果,需显式启用:

<?php
use Swoole\Runtime;
<p>// 必须在代码最开始调用(早于任何 IO 操作)
Runtime::enableCoroutine(true);</p><p>// 后续所有支持的函数(包括 PDO、Redis、stream_socket_client)都会自动协程化
go(function () {
$content = file_get_contents('<a href="https://www.php.cn/link/ef246753a70fce661e16668898810624">https://www.php.cn/link/ef246753a70fce661e16668898810624</a>');
echo strlen($content) . "\n";
});
Swoole\Event::wait();

常见漏点:

  • 没调用 Runtime::enableCoroutine(),以为装了扩展就自动异步
  • 在 php.ini 里写了 swoole.enable_coroutine=On,但该配置只影响 CLI 模式,且需 Swoole ≥ 4.5.0
  • 用了 curl_init() 却没换 Swoole\Coroutine\Http\Client,原生 cURL 不受 Hook 影响

真正的异步框架支持,不是“装上就行”,而是从启动方式(php server.php)、协程调度、IO 驱动全链路配合——Swoole 本身是底层引擎,Laravel Octane、Hyperf、Egg.js(PHP 版)这些才是构建在其上的异步应用层,别混淆扩展和框架职责。

相关文章

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
二狗PPT
二狗PPT Hot

一款AI演示文稿工具,主要用于专为中式职场打造的AI PPT生成工具,适合需要提升相关任务效率的用户。

VibeKnow
VibeKnow Hot

一款AI视频创作工具,主要用于全球首个AI知识视频创作平台,文档、文章、网页,一键生成视频,适合需要提升相关任务效率的用户。

AionClaw
AionClaw Hot

AionClaw是一款面向办公、创作和编程任务的AI桌面智能体。

超级简历WonderCV

一款AI办公效率工具,主要用于免费求职简历模版下载制作,应届生职场人必备简历制作神器,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

音述AI
音述AI Hot

一款AI音频处理工具,主要用于音述AI是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区,适合需要提升相关任务效率的用户。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

相关专题

更多
laravel组件介绍
laravel组件介绍

laravel 提供了丰富的组件,包括身份验证、模板引擎、缓存、命令行工具、数据库交互、对象关系映射器、事件处理、文件操作、电子邮件发送、队列管理和数据验证。想了解更多laravel的相关内容,可以阅读本专题下面的文章。

837

2024.04.09

laravel中间件介绍
laravel中间件介绍

laravel 中间件分为五种类型:全局、路由、组、终止和自定。想了解更多laravel中间件的相关内容,可以阅读本专题下面的文章。

815

2024.04.09

laravel使用的设计模式有哪些
laravel使用的设计模式有哪些

laravel使用的设计模式有:1、单例模式;2、工厂方法模式;3、建造者模式;4、适配器模式;5、装饰器模式;6、策略模式;7、观察者模式。想了解更多laravel的相关内容,可以阅读本专题下面的文章。

2448

2024.04.09

thinkphp和laravel哪个简单
thinkphp和laravel哪个简单

对于初学者来说,laravel 的入门门槛较低,更易上手,原因包括:1. 更简单的安装和配置;2. 丰富的文档和社区支持;3. 简洁易懂的语法和 api;4. 平缓的学习曲线。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

3541

2024.04.10

laravel入门教程
laravel入门教程

本专题整合了laravel入门教程,想了解更多详细内容,请阅读专题下面的文章。

4970

2025.08.05

laravel实战教程
laravel实战教程

本专题整合了laravel实战教程,阅读专题下面的文章了解更多详细内容。

3356

2025.08.05

laravel面试题
laravel面试题

本专题整合了laravel面试题相关内容,阅读专题下面的文章了解更多详细内容。

6329

2025.08.05

PHP高性能API设计与Laravel服务架构实践
PHP高性能API设计与Laravel服务架构实践

本专题围绕 PHP 在现代 Web 后端开发中的高性能实践展开,重点讲解基于 Laravel 框架构建可扩展 API 服务的核心方法。内容涵盖路由与中间件机制、服务容器与依赖注入、接口版本管理、缓存策略设计以及队列异步处理方案。同时结合高并发场景,深入分析性能瓶颈定位与优化思路,帮助开发者构建稳定、高效、易维护的 PHP 后端服务体系。

1376

2026.03.04

LLVM自定义Pass怎么写
LLVM自定义Pass怎么写

本专题聚焦LLVM自定义Pass开发,整理Pass类结构、run()方法、PreservedAnalyses、CMake构建、插件注册、-load-pass-plugin加载和测试用例编写流程。

0

2026.09.30

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
墨刀帮助中心
墨刀帮助中心

共0课时 | 0人学习

MyEclipse学习中心
MyEclipse学习中心

共0课时 | 0人学习

Apache Subversion 官方手册
Apache Subversion 官方手册

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn