0

0

PHP拓展怎么安装_装拓展卡在make阶段不动咋处理【操作】

絕刀狂花

絕刀狂花

发布时间:2026-02-08 15:02:02

|

197人浏览过

|

来源于php中文网

原创

拓展编译卡在make阶段通常是并行构建阻塞或依赖缺失,应改用make -j1单线程编译,并确保phpize、php-config、php.ini和php -v指向同一PHP版本。

php拓展怎么安装_装拓展卡在make阶段不动咋处理【操作】

拓展编译卡在 make 阶段不动,大概率是并行构建阻塞或依赖缺失

不是死机,而是 make 默认启用多线程(如 -j4),遇到某些 PHP 拓展(比如 redisswoole 或自定义源码)在链接或生成中间文件时因资源竞争/顺序依赖卡住。常见现象是光标静止、CPU 占用低、无报错输出。

  • 先按 Ctrl+Z 暂停当前进程,再执行 kill %1 彻底终止
  • 改用单线程编译:make -j1(注意是数字 1,不是小写 L)
  • 确保已安装基础构建工具gccmakeautoconfautomakelibtool(Ubuntu/Debian 上用 apt install build-essential autoconf automake libtool
  • 检查 phpize 输出是否正常——如果连 phpize 都报错(如 Cannot find config.m4),说明拓展源码不完整或目录结构不对

phpize 找不到或报错 Cannot find php-config

phpize 是生成 configure 脚本的关键工具,它依赖同版本的 php-config。如果你装了多个 PHP 版本(如系统自带 PHP + 自编译 PHP + phpbrew),phpize 往往指向错误的 php-config

  • 运行 which phpizephpize --version 确认它属于目标 PHP 版本
  • 手动指定配置路径:phpize --with-php-config=/path/to/your/php/bin/php-config(例如 /usr/local/php/bin/php-config
  • 若提示 php-config 不存在,说明 PHP 编译时没启用 --enable-embed 或没安装 php-dev 包(Ubuntu/Debian:安装 php-dev;CentOS/RHEL:安装 php-devel

configure 成功但 make 报错找不到头文件(如 php.hzend.h

这说明 phpize 生成的 configure 脚本没能正确识别 PHP 源码或头文件位置,尤其常见于从包管理器安装的 PHP(头文件被分到 php-dev 包里,但未被自动发现)。

Favird No-Code Tools
Favird No-Code Tools

无代码工具的聚合器

下载
  • 确认 php-dev(或 php-devel)已安装且版本与当前 PHP 严格一致(php -vapt list --installed | grep php-dev 对比)
  • 手动补全 include 路径:在 ./configure 后加 --with-php-config=/path/to/php-config,或导出环境变量export PHP_CONFIG=/path/to/php-config
  • 极少数情况需软链头文件,例如:ln -sf /usr/include/php/20220829 /usr/include/php/main(路径以 php-config --include-dir 输出为准)

make 完成但 make installphp -m 不显示拓展

安装成功 ≠ 启用成功。make install 只是把 .so 文件复制到 extension_dir,但 PHP 还需要显式加载它。

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

  • 查清扩展存放路径:php-config --extension-dir,确认 .so 文件确实在该目录下(如 redis.so
  • 编辑 php.ini(用 php --ini 查找加载路径),添加一行:extension=redis.so(注意不是 extension=redis,除非启用了 extension_dir 自动补全)
  • 若用的是 ZTS(线程安全)PHP,而拓展未编译为 ZTS 版本,会静默失败——此时需重新 phpize 并确保 php-config --zts 返回 enabled,再 ./configure --enable-redis --with-php-config=...
实际操作中最容易忽略的是:不同 PHP 版本共存时,phpizephp-configphp.iniphp -v 四者指向的不是同一套东西。卡住时,先逐个验证它们的路径和版本一致性,比盲目重装快得多。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
swoole为什么能常驻内存
swoole为什么能常驻内存

swoole常驻内存的特性:1. 事件驱动模型减少内存消耗;2. 协程并行执行任务占用更少内存;3. 协程池预分配协程消除创建开销;4. 静态变量保留状态减少内存分配;5. 共享内存跨协程共享数据降低内存开销。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

302

2024.04.10

线程和进程的区别
线程和进程的区别

线程和进程的区别:线程是进程的一部分,用于实现并发和并行操作,而线程共享进程的资源,通信更方便快捷,切换开销较小。本专题为大家提供线程和进程区别相关的各种文章、以及下载和课程。

613

2023.08.10

Python 多线程与异步编程实战
Python 多线程与异步编程实战

本专题系统讲解 Python 多线程与异步编程的核心概念与实战技巧,包括 threading 模块基础、线程同步机制、GIL 原理、asyncio 异步任务管理、协程与事件循环、任务调度与异常处理。通过实战示例,帮助学习者掌握 如何构建高性能、多任务并发的 Python 应用。

283

2025.12.24

java多线程相关教程合集
java多线程相关教程合集

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

21

2026.01.21

C++多线程相关合集
C++多线程相关合集

本专题整合了C++多线程相关教程,阅读专题下面的的文章了解更多详细内容。

23

2026.01.21

C# 多线程与异步编程
C# 多线程与异步编程

本专题深入讲解 C# 中多线程与异步编程的核心概念与实战技巧,包括线程池管理、Task 类的使用、async/await 异步编程模式、并发控制与线程同步、死锁与竞态条件的解决方案。通过实际项目,帮助开发者掌握 如何在 C# 中构建高并发、低延迟的异步系统,提升应用性能和响应速度。

18

2026.02.06

常用的数据库软件
常用的数据库软件

常用的数据库软件有MySQL、Oracle、SQL Server、PostgreSQL、MongoDB、Redis、Cassandra、Hadoop、Spark和Amazon DynamoDB。更多关于数据库软件的内容详情请看本专题下面的文章。php中文网欢迎大家前来学习。

987

2023.11.02

内存数据库有哪些
内存数据库有哪些

内存数据库有Redis、Memcached、Apache Ignite、VoltDB、TimesTen、H2 Database、Aerospike、Oracle TimesTen In-Memory Database、SAP HANA和ache Cassandra。更多关于内存数据库相关问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

652

2023.11.14

Golang处理数据库错误教程合集
Golang处理数据库错误教程合集

本专题整合了Golang数据库错误处理方法、技巧、管理策略相关内容,阅读专题下面的文章了解更多详细内容。

61

2026.02.06

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP课程
PHP课程

共137课时 | 11.3万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 11.2万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 0.9万人学习

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

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号