由于我先安装的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
得知路劲为/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
make时出错如下
/home/phoenix/下载/php-7.1.10/ext/mysqli/php_mysqli_structs.h:42:36: fatal error: ext/mysqlnd/mysqlnd.h: 没有那个文件或目录
我们用编辑器打开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/
我们来到/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
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//会出错make install时会出错
自己手动安装
#sudo find ./ -name mysqli.so
找到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/
剩下步骤同上
评论前必须登录!
注册