php - ubuntu 16.04 LTS 怎么编译 mysqli 生成 mysqli.so??
本文介绍了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 的时候就需要开启 mysqli
或 pdo-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屋!
查看全文