php5.6安装mysql扩展的方法:1、下载扩展的源码包并解压;2、执行phpize;3、生成makefile,执行make和make install命令;4、修改php.ini配置文件;5、重启httpd服务。
本文操作环境:centos 7系统、php 5.6、thinkpad t480电脑。
最近在维护一个老项目的时候意外发现了一个错误,错误信息:”Fatal error: Uncaught Error: Call to undefined function mysql_connect()“。在查明原因后发现,原来是php中的mysql_connect模块已经被弃用了,并且我在搭建环境的时候也没有再安装mysql扩展,所以才有了这个错误。
既然我们查明了原因,那么解决起来就方便多了。我们可以通过使用phpize工具手动编译生成mysql.so扩展的方式来解决这个问题。
具体步骤如下所示:
首先是下载pdo_mysql扩展的源码包。
# wget http://pecl.php.net/get/PDO_MYSQL-1.0.2.tgz
然后是解压缩。
# tar -zxvf PDO_MYSQL-1.0.2.tgz
进入解压后的目录,然后执行phpize。
# /usr/local/php/bin/phpize Configuring for: PHP Api Version: 20100412 Zend Module Api No: 20100525 Zend Extension Api No: 220100525
下面生成makefile。后面的两个参数必须要添加,一开始我没有添加,结果分别都提示找不到php-config和mysql的header文件。
# ./configure –with-php-config=/usr/local/php/bin/php-config –with-pdo-mysql=/usr/local/mysql
在make之前还要做一个mysql的header文件的软连接。因为mysql安装的时候指定了目录,不做软连接的话,还是找不到header文件。
# ln -s /usr/local/mysql/include/* /usr/local/include/
然后make和make install。
# make # make install
之后会提示如下,意思是扩展被安装到了如下目录里。
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-zts-20100525/
修改php.ini文件
修改:extension_dir = "/usr/local/php/lib/php/extensions/no-debug-zts-20100525/"
添加: extension=pdo_mysql.so
重启httpd 使其重新载入php配置文件
推荐学习:php培训