0

0

PHP拓展怎么安装_Mac装PHP拓展要装哪些依赖工具【操作】

看不見的法師

看不見的法師

发布时间:2026-02-19 15:07:33

|

428人浏览过

|

来源于php中文网

原创

mac装php扩展前必须安装autoconf、automake、libtool及匹配版本的php(如php@8.2),确保phpize可用且path正确;pecl安装需注意php版本与sapi类型;手动编译时phpize和php-config须严格匹配;apple silicon需统一arm64架构;扩展加载失败常因extension_dir错误、.so权限不足或dylib依赖缺失。

php拓展怎么安装_mac装php拓展要装哪些依赖工具【操作】

Mac 上装 PHP 扩展前必须装好这些工具

没装对底层工具,pecl install 或源码编译会直接报错,比如 command not found: phpizeconfigure: error: no acceptable C compiler found。核心就三样:autoconfautomakelibtool,再加一个能跑起来的 php 和配套的 phpize

用 Homebrew 装最稳:

brew install autoconf automake libtool

确认 PHP 已安装且版本匹配(比如你用的是 php@8.2):

brew install php@8.2

装完后检查 phpize 是否可用:

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

phpize --version

如果提示 command not found,说明 php@8.2 的 bin 目录没进 $PATH,补上(以 zsh 为例):

echo 'export PATH="/opt/homebrew/opt/php@8.2/bin:$PATH"' >> ~/.zshrc && source ~/.zshrc

用 pecl 装扩展最省事,但要注意 PHP 版本和 SAPI 类型

pecl 是官方包管理器,适合装通用扩展(如 redismemcachedigbinary)。但它默认绑定当前 php 命令对应的版本和 SAPI(CLI / FPM),装错会导致 Web 服务不加载。

Ink For All
Ink For All

AI写作和营销助手,精心设计的 UI

下载
  • 先确认你实际运行的是哪个 PHP:which phpphp -v
  • 查清楚 Web 用的是 CLI 还是 FPM:ps aux | grep php,看有没有 php-fpm
  • 装扩展时加 -d 指定配置目录(尤其多版本共存时):pecl install -d /opt/homebrew/etc/php/8.2/conf.d redis
  • 装完别忘了启用:在对应 php.ini 或 conf.d 下加 extension=redis.so

常见失败点:pecl install xdebug 在 Apple Silicon Mac 上可能卡在编译,换用 brew install php@8.2-xdebug 更可靠。

手动编译扩展时,phpize 路径和 php-config 必须严格匹配

有些扩展(比如刚发布的 swoole 主干版、或需要自定义参数的 grpc)得自己下载源码编译。这时 phpizephp-config 必须来自同一套 PHP 安装,否则会链接错符号或找不到头文件。

查清路径:

which phpize<br>which php-config<br>php-config --extension-dir

然后进扩展源码目录执行:

./configure --with-php-config=/opt/homebrew/opt/php@8.2/bin/php-config<br>make && sudo make install

关键点:

  • 不要用系统自带的 /usr/bin/phpize,它对应的是 macOS 自带 PHP(已弃用)
  • php-config --includes 输出的路径要能被 gcc 找到,否则报 fatal error: 'php.h' file not found
  • Apple Silicon(M1/M2/M3)上注意架构:Homebrew 默认装 arm64,若混用 x86_64 PHP 会链接失败

装完扩展后,extension_dir 和 .so 文件权限经常被忽略

即使编译成功、extension=xxx.so 也写了,PHP 仍可能报 unable to load dynamic library。原因通常是:

  • extension_dir 路径写错了——用 php --ini 查加载的 php.ini,再用 php -i | grep extension_dir 确认真实值
  • .so 文件权限不够:sudo chmod 755 /opt/homebrew/lib/php/20220829/redis.so
  • 扩展依赖的 dylib 找不到(比如 igbinary 依赖 libigbinary.dylib):otool -L redis.so 看依赖链,用 install_name_tool 修正或设 DYLD_LIBRARY_PATH

验证是否真加载了:php -m | grep redis(CLI 模式),或 phpinfo() 页面里搜扩展名。Web 和 CLI 的 php.ini 往往不是同一个文件,这点最容易漏查。

相关文章

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

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

下载

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

热门AI工具

更多
DeepSeek
DeepSeek

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

豆包大模型
豆包大模型

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

通义千问
通义千问

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

腾讯元宝
腾讯元宝

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

文心一言
文心一言

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

讯飞写作
讯飞写作

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

即梦AI
即梦AI

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

ChatGPT
ChatGPT

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

相关专题

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

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

305

2024.04.10

scripterror怎么解决
scripterror怎么解决

scripterror的解决办法有检查语法、文件路径、检查网络连接、浏览器兼容性、使用try-catch语句、使用开发者工具进行调试、更新浏览器和JavaScript库或寻求专业帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

371

2023.10.18

500error怎么解决
500error怎么解决

500error的解决办法有检查服务器日志、检查代码、检查服务器配置、更新软件版本、重新启动服务、调试代码和寻求帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

339

2023.10.25

macOS怎么切换用户账户
macOS怎么切换用户账户

在 macOS 系统中,可通过多种方式切换用户账户。如点击苹果图标选择 “系统偏好设置”,打开 “用户与群组” 进行切换;或启用快速用户切换功能,通过菜单栏或控制中心的账户名称切换;还能使用快捷键 “Control+Command+Q” 锁定屏幕后切换。

355

2025.05.09

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

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

996

2023.11.02

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

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

661

2023.11.14

mongodb和redis哪个读取速度快
mongodb和redis哪个读取速度快

redis 的读取速度比 mongodb 更快。原因包括:1. redis 使用简单的键值存储,而 mongodb 存储 json 格式的数据,需要解析和反序列化。2. redis 使用哈希表快速查找数据,而 mongodb 使用 b-tree 索引。因此,redis 在需要高性能读取操作的应用程序中是一个更好的选择。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

496

2024.04.02

redis怎么做缓存服务器
redis怎么做缓存服务器

redis 作为缓存服务器的答案:redis 是一款开源、高性能、分布式的键值存储,可作为缓存服务器使用。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

406

2024.04.07

pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法
pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法

本专题系统整理pixiv网页版官网入口及登录访问方式,涵盖官网登录页面直达路径、在线阅读入口及快速进入方法说明,帮助用户高效找到pixiv官方网站,实现便捷、安全的网页端浏览与账号登录体验。

660

2026.02.13

热门下载

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

精品课程

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

共137课时 | 12.1万人学习

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号