我在搭建环境时也没有再安装mysql扩展,但是今天在维护一个项目时,出现报错


Fatal error: Uncaught Error: Call to undefined function mysql_connect()

可以使用phpize工具手动编译生成mysql.so扩展来解决


下面是操作步骤:

1.进入php源码的ext/mysql目录

cd /home/oldboy/tools/php-5.5.32/ext/mysql/

2.运行phpize,在该目录下生成一个configure文件(php安装目录:/application/php/)

/application/php/bin/phpize

3.运行configure,指明php-config文件位置(/application/php/bin/php-config)和mysql安装目录

 ./configure --with-php-config=/application/php/bin/php-config --with-pdo-mysql=mysqlnd

4.编译安装,生成mysql.so

make && make install

5.修改php.ini文件,添加mysql.so扩展配置,保存退出

extension=mysql.so

6.重启php-fpm

service php-fpm restart

7.测试,在web目录下添加php文件,如/usr/local/nginx/html/mysql.php

复制代码

<?php

$con = mysql_connect('localhost','root','');

if($con){

    die('ok');

}else{

    die('Could not connect: ' . mysql_error());

}


运维交流群:qq:435540025