因为在PHP中mysql_connect模块已经逐渐被弃用,我在搭建环境时也没有再安装mysql扩展,但是今天在维护一个老项目时,出现报错

错误信息:Fatal error: Uncaught Error: Call to undefined function mysql_connect()

发现如果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 && make install

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

extension=mysql.so

extension_dir=”/usr/local/php-5.6.2/ext/mysql/modules/”

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());
}

版权声明:本文为caiyunyun原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/caiyunyun/p/7492323.html