php - ubuntu 16.04 LTS 怎么编译 mysqli 生成 mysqli.so??

查看:132
本文介绍了php - ubuntu 16.04 LTS 怎么编译 mysqli 生成 mysqli.so??的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

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 的时候就需要开启 mysqlipdo-mysql 扩展,后面再添加的扩展无效(本人测试无效,欢迎指正)。

cd phpDir
sudo ./configure --with-apxs2=/usr/local/apache2/apxs
            --enable-mysqli=mysqlnd     # 核心,必须加
            --enable-pdo-mysqlmysqnd    # 核心,必须加
sudo make
sudo make install

这篇关于php - ubuntu 16.04 LTS 怎么编译 mysqli 生成 mysqli.so??的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆