linux下php 加装mssql模块
linux下php 加装mssql模块
在linux 下的php连接mssql,就需要安装第三方的freetds了。
1、安装配置freetds
- wget http://mirrors.xmu.edu.cn/ubuntu/archive/pool/main/f/freetds/freetds_0.82.orig.tar.gz
- tar zxf freetds_0.82.orig.tar.gz
- cd freetds_0.82
- ./configure --prefix=/usr/local/freetds --with-tdsver=8.0 -–enable-msdblib -–enable-dbmfix -–with-gnu-ld -–enable-shared -–enable-static
- make && make install
复制代码2、编译php的mssql模块
cd /path/to/php/source 进入PHP源码目录
cd ext/mssql 进入MSSQL模块源码目录
/usr/local/webserver/php/bin/phpize 生成编译配置文件
./configure –with-php-config=/usr/local/webserver/php/bin/php-config –with-mssql=/usr/local/freetds
make
make install
编译完成生成 mssql.so,修改php.ini,将该模块载入:
- extension=”/path/to/extension/mssql.so”
复制代码3、配置mssql
- cd /usr/local/freetds/etc
- 编辑文件:
- vi freetds.conf
- [global]
- # TDS protocol version
- ; tds version = 4.2
- # Whether to write a TDSDUMP file for diagnostic purposes
- # (setting this to /tmp is insecure on a multi-user system)
- ; dump file = /tmp/freetds.log
- ; debug flags = 0xffff
- # Command and connection timeouts
- ; timeout = 10
- ; connect timeout = 10
- # If you get out-of-memory errors, it may mean that your client
- # is trying to allocate a huge buffer for a TEXT field.
- # Try setting ‘text size’ to a more reasonable limit
- text size = 64512
- client charset = UTF-8 #加入
- #加入
- [Server2005]
- host = 192.168.x.x
- port = 1433
- tds version = 7.2
复制代码4、测试php连接mssql
- <?php
- try {
- $hostname='218.x.x.x';//注意,这里和上面不同,要直接用IP地址或主机名
- $port=1433;//端口
- $dbname="user";//库名
- $username="database";//用户
- $pw="passwd";//密码
- $dbh= new PDO("dblib:host=$hostname:$port;dbname=$dbname","$username","$pw");
- } catch (PDOException $e) {
- echo"Failed to get DB handle: ".$e->getMessage() ."n";
- exit;
- }
- echo'connent MSSQL succeed';
- $stmt=$dbh->prepare("select * from z_2010pinjiu_user");
- $stmt->execute();
- while ($row=$stmt->fetch()) {
- print_r($row);
- }
- unset($dbh); unset($stmt);
- ?>
复制代码
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论