php - ubuntu 16.04 LTS 怎么编译 mysqli 生成 mysqli.so??
PHP中文网
PHP中文网 2017-04-11 09:16:59
[PHP讨论组]
php7.1.0.tar.bz2 # 源码包

我是按照这样的步骤生成的 mysqli.so 文件的(此前已经成功生成了 pdo.so , pdo_mysql.so , mbstring.so):

cd phpDir # php.tar.bz2 解压后的目录
cd ./ext/mysqli  # 进入 mysqli 扩展目录(未编译安装)
phpize       # 生成 configure 文件
./configure  # 生成 编译时配置文件
make         # 编译,这一步会出错!
             # fetalError:ext/mysqlnd/mysqlnd.h:没有那个文件或目录
             # 然而实际上,那个文件是存在的!路径: phpDir/ext/mysqlnd/mysqlnd.h
             # 但由于 make 命令是在 phpDir/ext/mysqli 下执行的
             # 所以, ext/mysqlnd/mysqlnd.h 被认为是: phpDir/ext/mysqli/ext/mysqlnd/mysqlnd.h
             # 因此,造成这个错误!
             # 卡在这一步差不多半天了。
             # 源码编译安装,网络上这方面的资料很少(我没找到...)
             # 不知道各位是如何解决的??
             # 拜求了
make install # 生成 mysqli.so 文件

以上方法来自于(php官网手册):

求大神解决!!??

PHP中文网
PHP中文网

认证0级讲师

全部回复(1)
迷茫

该问题已解决。

在编译 PHP 的时候就需要开启 mysqlipdo-mysql 扩展,后面再添加的扩展无效(本人测试无效,欢迎指正)。

cd phpDir
sudo ./configure --with-apxs2=/usr/local/apache2/apxs
            --enable-mysqli=mysqlnd     # 核心,必须加
            --enable-pdo-mysqlmysqnd    # 核心,必须加
sudo make
sudo make install
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

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