转载:https://blog.csdn.net/qq_26046771/article/details/78301360
由于我先安装的php,再安装的mysql!
正常过程:
1、安装mysql
2、安装php configure时带–with-mysql参数
现在我不想重装,因此使用phpize动态安装mysqli,php版本为php-7.1.10
1先查看php下phpize路径
#切换到php安装目录
cd /usr/local/php
find ./ -name phpize
显示如下
./bin/phpize
1
2
3
4
5
得知路劲为/usr/local/php/bin/phpize
2切换到php源码包目录php-7.1.10下
cd ext/mysqli
#运行phpize在此目录下生成configure文件
/usr/local/php/bin/phpize
#configure
./configure --with-php-config=/usr/local/php/bin/php-config -with-mysqli=/usr/local/mysql/bin/mysql_config
#make
sudo make
1
2
3
4
5
6
7
8
9
make时出错如下
/home/phoenix/下载/php-7.1.10/ext/mysqli/php_mysqli_structs.h:42:36: fatal error: ext/mysqlnd/mysqlnd.h: 没有那个文件或目录
1
我们用编辑器打开php_mysqli_structs.h
这里写图片描述
解决办法:
方法一
在mysqli文件夹下新建ext子文件夹,并把mysqli文件夹的父文件夹下的mysqlnd复制到刚新建的文件夹下,再次运行
#make
sudo make
#make install
sudo make install
#make install运行后给出消息
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/
1
2
3
4
5
6
我们来到/usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/目录下
发现多了mysqli.so
3、编辑php.ini
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20160303"
extension=mysqli.so
1
2
4、如果是niginx+php需重新启动php-fpm
如果是apache+php只需要重启httpd .(apache)
方法二
将Makefile复制到/home/phoenix/下载/php-7.1.10下
cd /home/phoenix/下载/php-7.1.10
sudo make
sudo make install//会出错
1
2
3
4
make install时会出错
自己手动安装
#sudo find ./ -name mysqli.so
1
找到mysqli.so(.so等同于win下.dll),将文件mysqli.so复制到/usr/local/php/lib/php/extensions/no-debug-non-zts-20160303目录下
cp ./ext/mysqli/modules/mysqli.so /usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/
1
剩下步骤同上
---------------------
作者:phoenix8956
来源:CSDN
原文:https://blog.csdn.net/qq_26046771/article/details/78301360
版权声明:本文为博主原创文章,转载请附上博文链接!