PHP之pdo_mysql扩展安装步骤以及mssql安装

时间:2022-09-19 14:51:09

PHP之pdo_mysql扩展安装步骤

看到CakePHP文档要求安装pdo_mysql扩展,于是就尝试安装了一下。

这里我的系统是CentOS 6.0。如果你的系统是其他版本的Linux/Unix,可以参考。如果你的系统是Windows的,抱歉,以下内容不适合你,请移步。

首先是下载pdo_mysql扩展的源码包。下载页面在这里:http://pecl.php.net/package/PDO_MYSQL。可以先下载了然后用FTP传到服务器。

我是在复制了下载地址以后使用wget直接下载到服务器端的。
# wget http://pecl.php.net/get/PDO_MYSQL-1.0.2.tgz

然后是解压缩。
# tar -zxvf PDO_MYSQL-1.0.2.tgz

进入解压后的目录,然后执行phpize。
# /usr/local/php/bin/phpize
Configuring for:
PHP Api Version: 20100412
Zend Module Api No: 20100525
Zend Extension Api No: 220100525

下面生成makefile。后面的两个参数必须要添加,一开始我没有添加,结果分别都提示找不到php-config和mysql的header文件。
# ./configure –with-php-config=/usr/local/php/bin/php-config –with-pdo-mysql=/usr/local/mysql

在make之前还要做一个mysql的header文件的软连接。因为mysql安装的时候指定了目录,不做软连接的话,还是找不到header文件。
# ln -s /usr/local/mysql/include/* /usr/local/include/

然后make和make install。
# make
# make install

之后会提示如下,意思是扩展被安装到了如下目录里。
Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-zts-20100525/

为了方便,我把pdo_mysql.so文件移动到extensions目录下。
# mv /usr/local/php/lib/php/extensions/no-debug-zts-20100525/pdo_mysql.so /usr/local/php/lib/php/extensions/

随后就可以修改php.ini文件了。

找到; extension_dir = “./”这一行,去掉注释,并修改路径。
extension_dir = “/usr/local/php/lib/php/extensions/”
这里经过我测试,发现php只会从该目录寻找扩展so,而并不寻找该目录下的子目录。所以之前我为了统一管理,把so文件都移动到该目录下。

找到; extension=php_pdo_mysql.dll这一行,去掉注释,并修改后面的文件名。
extension=pdo_mysql.so
文件名不太一样,这里要把php_前缀去掉,否则找不到文件。后面的dll是windows下的文件名,我们改成so。

最后重启apache就可以了。用phpinfo()查看发现已经生效了。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Linux服务器中的php程序能够连接到Windows服务器中的SQL Server 2000数据库,这里分享下配置方法,需要的朋友可以参考下
 
 

说明:

Linux服务器系统:CentOS 5.5

Web环境:LAMP或者LNMP

Windows服务器系统:Windows Server 2003

Windows服务器IP地址:192.168.21.134

数据库环境:SQL Server 2000数据库

数据库账号:sa

数据库密码:123456

实现目的:Linux服务器中的php程序能够连接到Windows服务器中的SQL Server 2000数据库

具体步骤:

一、在Linux服务器中安装freetds

1、安装编译工具及驱动程序

yum install make apr* autoconf automake gcc gcc-c++ wget

2、安装unixODBC驱动程序

yum -y install unixODBC unixODBC-devel

3、安装freetds

cd /usr/local/src

wget ftp://ftp.freetds.org/pub/freetds/stable/freetds-stable.tgz #下载

gunzip freetds-stable.tgz #解压

tar -xvf freetds-stable.tar

cd freetds-0.91

./configure --prefix=/usr/local/freetds --with-tdsver=8.0 --with-unixodbc=/usr --enable-msdblib #配置

make #编译

make install #安装

4、配置freetds

cp /usr/local/freetds/etc/freetds.conf /usr/local/freetds/etc/freetds.confbak #备份原有文件

vi /usr/local/freetds/etc/freetds.conf #在最后位置修改编辑以下内容

系统运维 www.osyunwei.com 温馨提醒:qihang01原创内容版权所有,转载请注明出处及原文链

PHP之pdo_mysql扩展安装步骤以及mssql安装

[192.168.21.134]
host = 192.168.21.134 #SQL Server 2000服务器地址
port = 1433 #SQL Server 2000数据库端口
tds version = 8.0 #8.0代表数据库版本为SQL Server 2000
client charset = UTF-8 #设置字符集

5、测试freetds

/usr/local/freetds/bin/tsql -S 192.168.21.134 -U sa #测试,提示输入数据库密码,出现下面界面,配置成功

PHP之pdo_mysql扩展安装步骤以及mssql安装

cd /usr/local/freetds/bin

./tsql -S 192.168.21.134 -p 1433 -U sa -P 123456 -D master #测试,出现下面界面,配置成功

PHP之pdo_mysql扩展安装步骤以及mssql安装

二、配置Linux php连接SQL Server 2000数据库

1、php是用yum命令在线安装

yum install php-mssql #安装php-mssql扩展,如果提示没有此安装包,请先配置第三方yum源

wget http://www.atomicorp.com/installers/atomic #下载

sh ./atomic #安装

yum install php-mssql #再次执行

2、php是用源码编译安装

cd /usr/local/src/php-5.3.15/ext/mssql #进入php源码包的ext下mssql目录

/usr/local/php5/bin/phpize       我的是/usr/local/php/bin/phpize

./configure --with-php-config=/usr/local/php5/bin/php-config --with-mssql=/usr/local/freetds #配置

 

./configure --with-php-config=/usr/local/php/bin/php-config --with-mssql=/usr/local/freetds #配置

注意:--with-mssql=/usr/local/freetds #是指freetds的安装路径

make #编译

make install #安装

vi /usr/local/php5/etc/php.ini #编辑,在最后位置添加下面一行

extension = "mssql.so"     我的是如下配置:

extension = /usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/memcache.so
extension = /usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/redis.so
extension = /usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/mssql.so

:wq! #保存退出

3、重启LAMP或者LNMP

service httpd restart #重启apache

service php-fpm restart #重启php-fpm

三、测试php连接SQL Server 2000数据库

进入php程序目录,新建一个测试文件

cd /usr/local/nginx/html #请改为自己的网站目录

vi sql.php #添加以下内容

<?php

$mssql=mssql_connect("192.168.21.134","sa","123456");

if ($mssql) {

echo "Connent Mssql Succeed";

}

else {

echo "connent Mssql Error!";

}

?>

:wq! #保存退出

注意:这里的192.168.21.134必须要和/usr/local/freetds/etc/freetds.conf中的[192.168.21.134]完全一样

在浏览器中打开,出现下面的界面,连接成功

PHP之pdo_mysql扩展安装步骤以及mssql安装

可以在新建一个文件

vi index.php

<?php

phpinfo();

?>

在浏览器中打开,能找到mssql,说明配置成功,如下图所示

PHP之pdo_mysql扩展安装步骤以及mssql安装

 

 

 

 

 

 

 

1、安装freetds

wget http://mirrors.ibiblio.org/freetds/stable/freetds-stable.tgz

tar -zxvf freetds-stable.tgz

cd freetds-0.91/

./configure --prefix=/usr/local/freetds --with-tdsver=8.0 --enable-msdblib

make

make install

vim /etc/ld.so.conf

ldconfig

2、测试连接

tsql -H IP地址 -p 1433 -U 用户名 -P 密码

//tsql在/usr/local/freetds/目录下

如果连接出错,可以尝试修改vi freetds.conf

[global]

# TDS protocol version

tds version = 7.1

3、添加php扩展mssql

cd php_source/ext/mssql

phpize

./configure --with-php-config=/usr/local/php/bin/php-config --with-mssql=/usr/local/lib/freetds

make

make install

4、添加php扩展pdo_dblib

cd php_source/ext/pdo_dblib/

phpize

./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo_dblib=/usr/local/lib/freetds

make

make install

5、修改php.ini 文件

添加两行

extension=mssql.so

extension=pdo_dblib.so

6、重启php

7、测试php连接mssql是否成功

PHP之pdo_mysql扩展安装步骤以及mssql安装
php代码

8、返回失败则按照提示操作

至此,Linux下php连接SQL Server 2000数据库配置完成

 

 

<?php


try {
$hostname = "192.168.20.103";
$port = 1433;
$dbname = "hahadbs";
$username = "sb";
$pw = "@haha@";
$dbh = new PDO ("dblib:host=$hostname:$port;dbname=$dbname","$username","$pw");
} catch (PDOException $e) {
echo "Failed to get DB handle: " . $e->getMessage() . "\n";
exit;
}
var_dump($dbh);
$sql = "SELECT NAME FROM ROLE";
$res = $dbh->prepare($sql);
$res->execute();
var_dump($res);
while($row = $res->fetch()){
print_r($row);
}