Linux下PHP连接MS SQLServer的办法
分析问题
本来PHP脚本读写SQLServer是没有什么问题的,在Apache for windows和Windows IIS下可以工作的很好,一般可以通过ODBC或SQLServer Client连接,这都是Windows下面现成的。但是在Linux下面没有现成的ODBC和SQLServer Client,需要我们自己安装。
解决问题
一、相关软件
freetds-053tgz
这个软件能够用Linux和Unix连接MS SQLServer和Sybase数据库。
二、安装配置步骤
第一步:编译安装freetds:
得到freetds-053tgz后
cp freetds-053tgz /tmp/ (拷贝freetds包到/tmp目录)
cd /tmp (进入目录)
tar zxvf freetds-053tgz (解压)
cd freetds-053 (进入解压后目录)
/configure –prefix=/usr/local/freetds --with-tdsver=70
gmake (生成Makefile,我试验过,make也可以)
gmake install (安装)
关于上面configure我想说一下,--prefix=/usr/local/freetds是指安装到/usr/local/freetds这个目录中,--with-tdsver=70是指安装tds 70版本(最开是我没有加这个编译参数,结果按照默认编译为50。50连接数据库的端口是4000,不是SQLServer的1433)
第二步:重新编译PHP4
/configure [--with-apxs --with-mysql] --with-sybase=/usr/local/freetds(请注意是sybase)
make
make install
第三步:配置freetds
vi /usr/local/freetds/etc/freetdsconf
具体配置见该文件中的说明
例: (典型配置)
[sqlserver]
host = sql_server_name_or_host_ip (你的SQLServer机器名字或者IP地址)
port = 1433
tds version = 70
在这个配置文件中可以配置Windows域登陆或者SQLServer账号登陆两种方式
第四步:配置phpini文件
找到 ;extension=mssql70so
将注释;去掉成
extension=mssql70so
第五步:在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/freetdsconf中定义的host参数,如果你写的IP地址,就是IP地址。
其他数据库 *** 作参考相关mssql函数
注意,在sql语句中不支持中文!!!
第六步:调试
如果出现不能连接,请在freetds配置文件中找到;dump file = /tmp/freetdslog这一行,注释掉前面的分号,再执行一下测试脚本,察看/tmp/freetdslog文件,它可以告诉你很多出错的信息帮助你排除问题。
PHP与Oracle数据库连接
PHP提供了两套函数与Oracle连接,分别是ORA_和OCI函数。其中ORA_函数略显陈旧。OCI函数更新据说更好一些。两者的使用语法几乎相差无几。如前所述,你的PHP安装选项应该可以支持两者的使用。
连接
if ($conn=Ora_Logon("user@TNSNAME","password"))
{
echo "SUCCESS ! Connected to database\n";
}
else
{
echo "Failed :-( Could not connect to database\n";
}
Ora_Logoff($conn);
phpinfo();
>
以上代码使用TNSNAME(在你的tnsnamesora文件中指明)定义的Oracle数据库名称、用户名称和密码连接数据库。在成功连接的基础上,ora_logon函数返回一个非零的连接ID并储存在变量$conn中。
详细内容
>
php数据库可以在
PHP MySQL 简介
MySQL 函数允许您访问 MySQL 数据库服务器。
安装
为了能够顺利的使用本类函数,必须在编译 PHP 时添加对 MySQL 的支持。
编译时,只要使用 --with-mysql[=DIR] 配置选项即可,其中可选的 [DIR] 指向 MySQL 的安装目录。
虽然本 MySQL 扩展库兼容 MySQL 410 及其以后版本,但是它不支持这些版本提供的额外功能。要使用这些功能,请使用 MySQLi 扩展库。
如果要同时安装 mysql 扩展库和 mysqli 扩展库,必须使用同一个客户端库以避免任何冲突。
在 Linux 系统上安装
PHP 4
默认开启了 --with-mysql 选项。此默认行为可以用 --without-mysql 配置选项来禁止。如果启用 MySQL 而不指定安装目录的话,PHP 将使用绑定的 MySQL 客户端连接库。
还有其它应用程序使用 MySQL(例如 auth-mysql)的用户不要用绑定的库,而要指定 MySQL 的安装目录,如这样:--with-mysql=/path/to/mysql。这将强制 PHP 使用随 MySQL 安装的客户端连接库,就可以避免任何冲突。
PHP 5+
MySQL 默认未启用,也没有绑定的 MySQL 库。使用 --with-mysql[=DIR] 配置选项来加入 MySQL 的支持。可以从 MySQL 下载头文件和库。
在 Windows 系统上安装
PHP 4
PHP MySQL 扩展已经编译入 PHP。
PHP 5+
MySQL 默认未启用,因此必须在 phpini 中激活 php_mysqldll 动态连接库。此外,PHP 还需要访问 MySQL 客户端连接库。PHP 的 Windows 发行版包括了一个 libmysqldll,为了让 PHP 能和 MySQL 对话,此文件必须放在 Windows 的系统路径 PATH 中。
要激活任何 PHP 扩展库(例如 php_mysqldll),PHP 指令 extension_dir 要被设为 PHP 扩展库所在的目录。PHP 5 下 extension_dir 取值的一个例子是 c:\php\ext。
注释:如果启动 web 服务器时出现类似如下的错误:"Unable to load dynamic library '/php_mysqldll'",这是因为系统找不到 php_mysqldll 和 / 或 libmysqldll。
以上就是关于linunx下怎么设置php数据库支持已安装的mysql全部的内容,包括:linunx下怎么设置php数据库支持已安装的mysql、如何构建php运行环境,支持mysql数据库的、PHP可以和sql server/oracle等数据库连接吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)