报pcre.h: no such file or directory说明系统缺失pcre v1开发头文件,非swoole或php版本问题,应安装对应系统的libpcre3-dev(ubuntu/debian)、pcre-devel(centos/rhel 7)等开发包,并确保已安装php-dev/php-devel以保障phpize和php-config可用。

报 pcre.h: No such file or directory,说明系统缺少 PCRE v1 开发头文件,不是 Swoole 代码或 PHP 版本问题,而是编译环境缺失关键依赖。装对开发包就能解决,不用改源码、不需软链接、也不用硬编译。
先确认你缺的是 pcre 还是 pcre2
错误信息里明确写了哪个就装哪个:
- pcre.h not found → 缺 PCRE v1,装对应系统的 PCRE v1 开发包
- pcre2.h not found → 缺 PCRE2,装 PCRE2 开发包(Swoole 4.8+ 默认依赖)
按系统安装正确开发包
别装错名字,否则 configure 直接失败:
Swoole 6.1.1 是一个专为 PHP 设计的高性能事件驱动并发网络引擎。作为稳定版,它修复了编译时对 zlib 依赖的缺失及 curl 模块的内存安全风险。该版本支持协程、多线程与多进程架构,内置 TCP/HTTP/WebSocket 服务器,能够显著提升 PHP 在微服务、实时通信等场景下的执行效率与并发能力。
-
Ubuntu/Debian:
sudo apt install libpcre3-dev(pcre.h)或sudo apt install libpcre2-dev(pcre2.h) -
CentOS/RHEL 7:
sudo yum install pcre-devel(pcre.h)或sudo yum install pcre2-devel(pcre2.h) -
CentOS/RHEL 8+:
sudo dnf install pcre2-devel -
macOS(Homebrew):
brew install pcre2,再加环境变量:export CPPFLAGS="-I$(brew --prefix pcre2)/include"export LDFLAGS="-L$(brew --prefix pcre2)/lib"
别漏掉 php-dev / php-devel
很多“pcre 报错”其实是被掩盖的更底层问题:
- Ubuntu/Debian:必须装
php-dev(如php8.1-dev) - CentOS/RHEL:必须装
php-devel - 装完验证:
which phpize和which php-config都要有输出 - 没这俩命令,
./configure会因找不到php-config而失败,错误提示反而误导你去折腾 pcre
验证是否生效
运行以下命令,看到 checking for pcre2 support 或 checking for pcre support 就表示识别成功:
phpize && ./configure --with-php-config=$(which php-config) 2>&1 | grep -i pcre










