因为在PHP中mysql_connect模块已经逐渐被弃用,我在搭建环境时也没有再安装mysql扩展,但是今天在维护一个老项目时,出现报错
Fatal error: Uncaught Error: Call to undefined function mysql_connect()
于是google一下,发现如果php和mysql都已经安装完成了,可以使用phpize工具手动编译生成mysql.so扩展来解决
下面是操作步骤:
1.进入php源码的ext/mysql目录
cd/usr/local/src/php-5.6.29/ext/mysql/
|
2.运行phpize,在该目录下生成一个configure文件(php安装目录:/usr/local/php/)
/usr/local/php/bin/phpize
|
3.运行configure,指明php-config文件位置(/usr/local/php/bin/php-config)和mysql安装目录(/usr/local/mysql/)
./configure--with-php-config=/usr/local/php/bin/php-config--with-mysql=/usr/local/mysql/
|
4.编译安装,生成mysql.so
make&&makeinstall
|
5.修改php.ini文件,添加mysql.so扩展配置,保存退出
extension=mysql.so
|
6.重启php-fpm
service php-fpm restart
|
7.测试,在web目录下添加php文件,如/usr/local/nginx/html/mysql.php
$con= mysql_connect('localhost','root','');
if($con){
die('ok');
}else{
die('Could not connect: '. mysql_error());
}
|
访问URL,如:http://192.168.8.9/mysql.php
显示ok,则配置成功