centos php7版本安装mysql扩展

Linux piniu 1066浏览 0评论

由于使用的php7以上版本,在php7以上版本默认不支持mysql 扩展了,对于以前项目会出现 Fatal error: Call to undefined function: mysql_connect() 问题,现在就安装来安装php的mysql扩展

1.查看php默认支持的模块:

[root@ip-172-31-20-134 ~]# 
[root@ip-172-31-20-134 ~]# 
[root@ip-172-31-20-134 ~]# cd /usr/local/php-7.2.5/
[root@ip-172-31-20-134 php-7.2.5]# 
[root@ip-172-31-20-134 php-7.2.5]# ./bin/php -m
[PHP Modules]
bcmath
bz2
calendar
Core
ctype
curl
date
dba
dom
exif
fileinfo
filter
ftp
gd
gettext
gmp
hash
iconv
json
libxml
mbstring
mysqli
mysqlnd
openssl
pcre
PDO
pdo_mysql
pdo_sqlite
Phar
posix
readline
Reflection
session
shmop
SimpleXML
soap
sockets
SPL
sqlite3
standard
sysvmsg
sysvsem
sysvshm
tokenizer
wddx
xml
xmlreader
xmlrpc
xmlwriter
xsl
zip
zlib
 
[Zend Modules]

可以看到MySQL模块扩展并不存在,

2.获取PHP MySQL扩展源码

[root@ip-172-31-20-134 ~]# git clone https://github.com/php/pecl-database-mysql mysql --recursive
Cloning into 'mysql'...
remote: Counting objects: 145, done.
remote: Total 145 (delta 0), reused 0 (delta 0), pack-reused 145
Receiving objects: 100% (145/145), 88.41 KiB | 0 bytes/s, done.
Resolving deltas: 100% (65/65), done.
Checking connectivity... done.

如果不存在git命令,直接使用yum安装即可。

3. 编译和安装mysql扩展

[root@ip-172-31-20-134 ~]# cd mysql/
[root@ip-172-31-20-134 mysql]# /usr/local/php-7.2.5/bin/phpize
Configuring for:
PHP Api Version: 20151012
Zend Module Api No: 20151012
Zend Extension Api No: 320151012

如果目录下不存在 configure 命令, 那么直接执行 yum install automake ,然后再重新执行/usr/local/php-7.2.5/bin/phpize 即可

[root@ip-172-31-20-134 mysql]# ./configure --with-php-config=/usr/local/php-7.2.5/bin/php-config   (注: 一定要指定成实际的php-config,)
 
[root@ip-172-31-20-134 mysql]# make && make install

4.最后修改php.ini配置文件,增加一行:
extension = “mysql.so”

5.重新启动php-fpm服务就能在phpinfo里看到MySQL扩展了:


发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • * 昵称:
  • * 邮箱: