由于使用的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扩展了:
