Linux下PHP扩展PDO编译安装

背景:
最近,有个新站点上线,程序使用的是pdo连接MySQL,但是线上的php在当初安装的时候没有编译pdo,
同时,由于是线上服务,不能重新编译php所以,考虑使用php的扩展编译方法来实现。

环境:
[root@php219 pdo_mysql]# cat /etc/redhat-release
Derived from Red Hat Enterprise Linux 7.1 (Source)
[root@php219 pdo_mysql]# uname -m
x86_64

步骤:
1、进入PHP的软件包pdo扩展目录中
[root@php219 ~]# cd /root/php-5.3.29/ext/pdo_mysql
[root@php219 pdo_mysql]# pwd
/root/php-5.3.29/ext/pdo_mysql

执行 phpize 命令
[root@php219 pdo_mysql]# /usr/local/php/bin/phpize
Configuring for:
PHP Api Version: 20090626
Zend Module Api No: 20090626
Zend Extension Api No: 220090626

注:/usr/local/php 是我的 php 安装目录

执行完 phpize 命令后,在 pdo_mysql 目录中就会出现 configure
执行配置
[root@php219 pdo_mysql]# ./config --with-php-config=/usr/local/php/bin/php-config --with-pdo-mysql=/usr/local/mysql
参数说明:
--with-php-config=/usr/local/php/bin/php-config 指定安装 PHP 的时候的配置
--with-pdo-MySQL=/usr/local/mysql/ 指定 MySQL 数据库的安装目录位置

编译安装
[root@php219 pdo_mysql]# make && make install

编译完成之后,会出现类似以下图片所示信息

如果出现说明编译安装成功,请十分注意红线圈住的目录(注意:不同时间段目录名称可能不一样)。
编译安装完成之后,生成的 pdo_mysql.so 文件就放置在这个目录下。
[root@php219 ~]# ls /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/
eaccelerator.so memcache.so pdo_mysql.so

2、修改 php.ini 文件
使用 vi 打开你机器的 php.ini 文件,添加一段代码
“extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/”,加载 pdo_mysql.so 文件,重启php和nginx,使其生效!


PS.如果还是不行,就在php.ini中加入extension=pdo_mysql.so,我就是这么解决的。

[root@php219 etc]# grep extension=pdo_mysql.so php.ini
extension=pdo_mysql.so
3、查看 phpinfo()

 

此条目发表在Linux分类目录,贴了, 标签。将固定链接加入收藏夹。

发表评论

电子邮件地址不会被公开。 必填项已用*标注