php 如何单独编译 mysqlnd 扩展?
高洛峰
高洛峰 2017-04-11 09:00:20
[PHP讨论组]

最近折腾 php,下载的 php 7.0.8

编译时只开启了 php-fpm

./configure --prefix=/usr/lcoal/php --enable-fpm

想通过 phpize 来添加各种扩展,但是在 mysql 支持上遇到了问题
在 ext/mysqlnd 目录下执行了 phpize ,生成了 configure 之后
在 ./configure 时,先是提示无法找到 openssl 的一个头文件:

configure: error: Cannot find OpenSSL's <evp.h>

手动修改了 configure 脚本中的变量:

OPENSSL_INCDIR=/usr
OPENSSL_LIBDIR=/usr/lib64

最终编译成功,在 php.ini 里添加

extension=mysqlnd.so

或者

zend_extension=mysqlnd.so

都无法加载

请教一下, mysqlnd 和 fpm 都只能第一次编译 php 的时候就要在 configure 里加上么?

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(3)
怪我咯

感觉你先要安装openssl的扩展再按照configure帮助中提供的一些辅助方法 来编译吧 openssl安装方法
然后你就可以类似的安装mysqlnd扩展

这两个扩展都有个前提 你要安装ssl扩展先要安装openssl ,你要安装mysqlnd扩展先要安装mysql

大家讲道理
  1. openssl 无法找到 是php本身没有ssl扩展 需要先装ssl扩展

  2. 不需要修改configure文件

  3. 理论上所有扩展都是可以后期动态编译或者添加

高洛峰

完全可以后期增加拓展,不要make install操作就好了

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

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