linux/Windows下如何安装PHP的PDO扩展

原创
2017-07-29 15:56:41
薛才杰
2091
摘要:PHP 数据对象PDO扩展为PHP访问数据库定义了一个轻量级的一致接口。PDO 提供了一个数据访问抽象层,这意味着,不管使用哪种数据库,都可以用相同的函数(方法)来查询和获取数据。最近在我们的建站和OA系统交流群中,有对服务器运维不熟悉的朋友问到关于PHP的PDO扩展安装的问题。本文我们将和大家一起分享如何在服务器上安装PDO扩展。

PHP 数据对象PDO扩展为PHP访问数据库定义了一个轻量级的一致接口。PDO 提供了一个数据访问抽象层,这意味着,不管使用哪种数据库,都可以用相同的函数(方法)来查询和获取数据。最近在我们的建站和OA 系统交流群中,有对服务器运维不熟悉的朋友问到关于PHP的PDO扩展安装的问题。本文我们将和大家一起分享如何在服务器上安装PDO扩展。


Linux系统篇



1.CentOS系统

环境:

服务器系统:Centos6.5 (虚拟机演示)

PHP软件包存放目录:/data/php-5.6.14/
PHP安装目录:/usr/local/php/
mysql安装目录:/usr/local/mysql/

操作流程:

通过phpinfo()函数我们可以检查服务器是否安装了PDO扩展。如果没有找到PDO扩展信息,那我们通过如下步骤来进行安装:

找到你的PHP的安装包(我的放在/data/php-5.6.14/目录下),并进入PHP扩展的pdo_mysql目录,运行下面命令:


/usr/local/php/bin/phpize
(/usr/local/php/是我的PHP安装目录,大家根据实际情况修改即可)




执行完上面命令后,我们就会发现当前pdo_msyql目录下就出现了configure文件。


然之我们执行下面命令:


./configure --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 数据库的安装目录位置
(这里具体PHP和msyql的安装目录大家根据自己实际情况而定)


继续编译安装:


make && make install


命令执行完毕,效果如下:

足以最后一行的那个目录,后面会用到,此时生成的pdo_mysql.so文件就在该目录下:


接下来我们修改PHP配置文件,打开的你的php.ini文件,并添加一行代码:


extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/pdo_mysql.so
(这里是我演示的pdo_mysql.so目录,大家设置时根据自己的实际目录添加)



最后保存推出,并重启服务。然后使用phpinfo()函数检查一下PDO扩展安装是否成功,结果如下,说明PDO扩展安装成功。


2.Ubuntu系统

如果没有安装php和mysql的开发包,在开始之前需要先安装


sudo apt-get install php5-dev
sudo apt-get install php5-pear
sudo apt-get install libmysqlclient15-dev

pdo在ubuntu的apt里头似乎还找不到安装源,所以通过pecl来安装这个扩展,非常简单

sudo pecl install pdo

PHP配置文件增加一行:
extension=pdo.so

安装pdo_mysql

sudo pecl install pdo_mysql
sudo apt-get install php5-mysql

PHP配置文件增加一行:

extension = pdo_mysql.so


最后重启服务。


Windows系统篇


修改php.ini文件,将下面的代码前面去掉分号,


extension_dir="" //这里配置为你自己的ext目录路径
extension=php_mysql.dll
extension=php_pdo.dll
extension=php_pdo_mysql.dll


然之把php安装目录的路径加入到系统环境变量PATH中。

最后重启服务。


小结

本文我们和大家一起分享了如何在linux系统(centos、ubuntu)及windows系统中,安装PHP的PDO扩展,如果大家在实际操作中有什么问题,欢迎一起交流讨论,我们共同学习,共同进步。

发表评论
评论通过审核后显示。