Linux下PHP连接MS SQLServer的办法

Linux下PHP连接MS SQLServer的办法分析问题 本来PHP脚本读写SQLServer是没有什么问题的,在Apache for windows和Windows IIS下可以工作的很好,一般可以通过ODBC或SQLServer Client连接,这都是Windows下面现成的。但是在Linux下面没有现成的ODBC和SQLServer Client,需要我们自己安装。

解决问题 

一、相关软件 freetds-0.53.tgz 这个软件能够用Linux和Unix连接MS SQLServer和Sybase数据库。

二、安装配置步骤 

第一步:编译安装freetds: 得到freetds-0.53.tgz后 cp freetds-0.53.tgz /tmp/. (拷贝freetds包到/tmp目录) cd /tmp (进入目录) tar zxvf freetds-0.53.tgz (解压) cd freetds-0.53 (进入解压后目录) ./configure –prefix=/usr/local/freetds --with-tdsver=7.0 gmake (生成Makefile,我试验过,make也可以) gmake install (安装) 关于上面configure我想说一下,--prefix=/usr/local/freetds是指安装到/usr/local/freetds这个目录中,--with-tdsver=7.0是指安装tds 7.0版本(最开是我没有加这个编译参数,结果按照默认编译为5.0。5.0连接数据库的端口是4000,不是SQLServer的1433) 

第二步:重新编译PHP4 ./configure [--with-apxs --with-mysql...] --with-sybase=/usr/local/freetds(请注意是sybase) make make install 第三步:配置freetds vi /usr/local/freetds/etc/freetds.conf 具体配置见该文件中的说明 例: (典型配置) [sqlserver] host = sql_server_name_or_host_ip (你的SQLServer机器名字或者IP地址) port = 1433 tds version = 7.0 在这个配置文件中可以配置Windows域登陆或者SQLServer账号登陆两种方式

第四步:配置php.ini文件 找到 ;extension=mssql70.so 将注释;去掉成 extension=mssql70.so 

第五步:在php中建立数据库连接 $link=mssql_connect("sqlserver",$your_username,$your_password) or die (“can’t Connect to Database”); echo $link; 在浏览器中运行上面脚本, 如果你得到一个link号那么恭喜,你已经配置好了,如果出现Call to undefined function: mssql_connect() 那说明仔细看上面的安装配置过程看你哪一步没有对。 注意:sqlserver名称是在/usr/local/freetds/etc/freetds.conf中定义的host参数,如果你写的IP地址,就是IP地址。 其他数据库操作参考相关mssql函数 注意,在sql语句中不支持中文!!! 

第六步:调试 如果出现不能连接,请在freetds配置文件中找到;dump file = /tmp/freetds.log这一行,注释掉前面的分号,再执行一下测试脚本,察看/tmp/freetds.log文件,它可以告诉你很多出错的信息帮助你排除问题。 

PHP与Oracle数据库连接PHP提供了两套函数与Oracle连接,分别是ORA_和OCI函数。其中ORA_函数略显陈旧。OCI函数更新据说更好一些。两者的使用语法几乎相差无几。如前所述,你的PHP安装选项应该可以支持两者的使用。连接

  if ($conn=Ora_Logon("[email protected]","password"))   {   echo "SUCCESS ! Connected to database\n";   }   else   {   echo "Failed :-( Could not connect to database\n";   }   Ora_Logoff($conn);   phpinfo();   ?> 

以上代码使用TNSNAME(在你的tnsnames.ora文件中指明)定义的Oracle数据库名称、用户名称和密码连接数据库。在成功连接的基础上,ora_logon函数返回一个非零的连接ID并储存在变量$conn中。详细内容http://hi.baidu.com/普及网/blog/item/3fe4df12c474e9956438db72.html
时间: 2024-10-07 05:29:30

Linux下PHP连接MS SQLServer的办法的相关文章

linux下ssh连接缓慢详解

摘自:https://blog.csdn.net/asd2479745295/article/details/83006379 linux下ssh连接缓慢详解原创皮的开心 最后发布于2018-10-11 09:13:37 阅读数 1824 收藏展开    最近发现公司新linux控制器使用ssh连接特别慢,大概要10秒钟左右,scp也是需要10秒左右,但是ping速度特别快.使用ssh -l IP -v 可以查看连接卡在,SSH2_MAG_SERVICE_ACCEPT received后,停顿了

Linux 下WordPress FTP帐号解决办法

自己用Ubuntu搭建WordPress后在更换主题时提示需要输入FTP帐号和密码,解决办法主要是把WordPress主目录的权限所有者弄为Apache: 找到apache服务所使用的用户名和用户组 ps -aux 找到 /usr/sbin/apach 的用户名,它就是apache的所有者,我这里是 www-data sudo chown www-data:www-data -R /var/www/html/ 因为我的WordPress的主目录是 /var/www/html/ 然后刷新WordP

关于Linux下的连接文件学习总结

1.连接文件区分为两种,一种类似windows下快捷方式,使用户能够快速连接到目标文件或目录. 另一种则通过文件系统中的inode连接来产生新文件名,而不是产生新文件. 两种方式分别称为符号/硬连接. 2. 每个文件都会占用一个inode,其中记录了文件的权限和属性等信息,而文件内容由inode指向的block来记录. 而想读取文件的内容,必须先经过文件所在目录block中记录的文件名来指向正确的inode号码才能读取. 所以文件名只与目录有关,但文件内容与inode相关. 3. 硬连接的由来:

几种在Linux下查询外网IP的办法。

几种在Linux下查询外网IP的办法. Curl 纯文本格式输出: curl icanhazip.com curl ifconfig.me curl curlmyip.com curl ip.appspot.com curl ipinfo.io/ip curl ipecho.net/plain curl www.trackip.net/i curl JSON格式输出: curl ipinfo.io/json curl ifconfig.me/all.json curl www.trackip.n

远程连接linux下的mysql Err1045 Err2003解决办法

本人linux系统 Centos7 1.Err2003 我个人的情况是因为linux中防火墙开启并阻止了3306这个mysql端口的远程连接 解决办法: CentOS 7.0默认使用的是firewall作为防火墙,现在要将其关闭 systemctl stop firewalld.service #停止firewallsystemctl disable firewalld.service #禁止firewall开机启动firewall-cmd --state #查看默认防火墙状态(关闭后显示not

在Linux下adb连接不上android手机的终极解决方案

转自: http://blog.csdn.net/liuqz2009/article/details/7942569 1.做android开发的过程,碰到了Linux下adb识别不了android设备的问题,刚开始在网上google下,发现都是针对ubuntu下的一些说明:如google提供的方法:http://developer.android.com/tools/device.html,但发现通过做这些还是有些android设备连接不上,于是通过阅读adb源码,得出了一些方法,和大家一起共勉

常见的Linux下的段错误 及解决办法

一.段错误 所谓的段错误就是指访问的内存超出了系统所给这个程序的内存空间,通常这个值是由gdtr来保存的,他是一个48位的寄存器,其中的32位是保存由它指向的gdt表,后13位保存相应于gdt的下标,最后3位包括了程序是否在内存中以及程序的在cpu中的运行级别,指向的gdt是由以64位为一个单位的表,在这张表中就保存着程序运行的代码段以及数据段的起始地址以及与此相应的段限和页面交换还有程序运行级别还有内存粒度等等的信息.一旦一个程序发生了越界访问,cpu就会产生相应的异常保护,于是segment

Xshell连接Linux下Oracle无法回退的解决办法

使用Xshell 连接远程Linux 数据库服务器,当切换到sqlplus 控制台时,输入错误字符的时候,使用回退键修改时,显示^H. 解决方法:$ stty erase ^H : 与退格键相关的设置是erase,它表示删除最后一个字符.  stty(set tty,设置tty)命令用于检查和修改当前注册的终端的通信参数 可以在stty命令中使用-a查看当前注册终端的设置情况. $ stty -a 如果在当前窗口执行的话,只对当前的窗口有效,下次登陆的时候还需要重新设置,可以把这个命令写入she

29. Xshell连接Linux下Oracle无法回退的解决办法

使用Xshell 连接远程Linux 数据库服务器,当切换到sqlplus 控制台时,输入错误字符的时候,使用回退键修改时,显示^H. 解决方法:切换至root用户,直接输入stty erase ^H即可,$ stty erase ^H : 与退格键相关的设置是erase,它表示删除最后一个字符.stty(set tty,设置tty)命令用于检查和修改当前注册的终端的通信参数 可以在stty命令中使用-a查看当前注册终端的设置情况. $ stty -a 如果在当前窗口执行的话,只对当前的窗口有效