- 浏览: 583313 次
文章分类
- 全部博客 (174)
- Core Java 学习 (6)
- Hibernate 学习 (3)
- Struts 学习 (3)
- Spring 学习 (9)
- EJB 学习 (0)
- 设计模式 (0)
- Oracle 学习 (6)
- JRuby (0)
- PHP (18)
- MySql (7)
- Apache (6)
- Informix (2)
- JSTL (1)
- CSS+HTML (8)
- Ajax (2)
- javaScript (16)
- reverse Ajax (1)
- Discuz (7)
- 网站 (11)
- SEO (5)
- Linux (4)
- ecshop (1)
- 电子商务 (1)
- 文档在线浏览 (18)
- 服务器技术 (10)
- flex (17)
- 用户体验 (1)
- java (1)
- flex+blazeDS (1)
- tomcat (1)
- 开发管理 (1)
最新评论
-
niaoqq1:
真坑爹,全是中文字符,复制全部报错!
<c:forEach 详解 -
jhys7s8jd:
pdf打印机下载http://www.onlinedown.n ...
命令行下转换word文档成PDF -
海豚12315:
flashPaper读取磁盘上的文件路径,
最好是放到某个系统 ...
在线文档阅读实现的解决方案 -
八月约克:
火狐不支持这个东东
Scripting.Dictionary的使用 -
longgol:
有一问:怎么通过flashPaper读取磁盘上的文件路径呢。我 ...
在线文档阅读实现的解决方案
文章是网上找的,从来没有弄过,一直是php+mysql 现在搞个php+mssql 也不懂,没有办法,从网上找了些资料,我是看了这些资料,才连上的mssql的第一次感觉真的挺费劲的,这些可能不需要全部看完就ok,我也是这一点那一点,可能是我比较笨吧!呵呵
环境:
- Apache 2.2.6
- PHP 5.2.5
- SQL Server 2005
- Windows XP SP2
步骤:
1. 首先按通常做法配置好PHP5连接MS SQL Server
2. 下载正确版本的 ntwdblib.dll (2000.80.194.0),地址: http://www.webzila.com/dll/1/ntwdblib.zip
3. 覆盖 apache2.2.6\bin\ntwdblib.dll
4. 覆盖 php5.2.5\ntwdblib.dll
5. 运行 SQL Server 配置管理器:SQL Server Configuration Manager,打开协议 Protocols
6. 允许命名管道 "named pipes" 和 "tcp/ip"
7. 右键点击 "tcp/ip",打开属性 Properties 标签 "IP addresses"
8. 在 TCP 动态端口 "TCP Dynamic Ports" 填入 1433
9. 重启 SQL Server、Apache和PHP
使用以下方式连接MS SQL Server 2005:
mssql_connect('localhost,1433', USERNAME, PASSWORD);
-----------------------------------------------------------------------------------------------
配置php
1、打开php.in将extension=php_mssql.dll的注释符号去掉。
2、打开php.in将mssql.secure_connection = Off改为on。
网上的教程是这样的‘mssql.secure_connection = On’,本地链接正常。
但,对于链接局域网的服务器这种配置是不正确的,应该是mssql.secure_connection = Off。
3、将php_mssql.dll拷贝到php.in中extension_dir 指定的目录或者系统system32目录下。(php_mssql.dll在php压缩安装包中有)。
以上步骤完成后需要重启apache。
注意:实际使用中发现 如果通过php压缩文件手工安装php到iis下,必须重启机器而不仅仅是iis。
4、需要保证php或者系统系统system32下有ntwdblib.dll,查看属性确保其版本为8.00.194而不是7.0......
其他设置
如果php apache Sql Server2000都在同一台机器上,访问基本没有问题了。
如果Sql Server2000和php机器是分离的,需要确认ping sqlserver所在机器的机器名能通,如过不通,修改php所在机器的\system32\drivers\etc下的hosts文件,增加一行 sqlserver所在机器的机器ip sqlserver所在机器的机器名字。
如果还是无法访问,需要确认php所在的机器有无暗转mdac。要不索性安装一下sqlserver的客户端好了。
为了php连接sql2005 ,我在网络上找了一大堆资料在我的csdn博客中.晚上3:05分时候终于搞定了
php连接sql2005的问题,现在整合,同时把FAQ整合上.
我前面写的教程:
连接前配置系统:
1.检查文件 php5.2.5\ntwdblib.dll 默认下面有一个,不能连接再替换.
下载正确版本的 ntwdblib.dll (2000.80.194.0),地址: http://webzila.com/dll/1/ntwdblib.zip
2.配置php
a、打开php.in将extension=php_mssql.dll的注释符号去掉。
b、打开php.in将mssql.secure_connection = Off改为on。
c、将php_mssql.dll拷贝到php.in中extension_dir 指定的目录或者系统system32目录下。(php_mssql.dll在php的压缩安装包中有)。
以上步骤完成后需要重启apache。
注意:实际使用中发现 如果通过php压缩文件手工安装php到iis下,必须重启机器而不仅仅是iis。
3.配置sqlserver
a. 运行 SQL Server 配置管理器:SQL Server Configuration Manager,打开协议 Protocols
b. 允许命名管道 "named pipes" 和 "tcp/ip"
c. 右键点击 "tcp/ip",打开属性 Properties 标签 "IP addresses"
d. 在 TCP 动态端口 "TCP Dynamic Ports" 填入 1433
e. 重启 SQL Server
-----------------------------------------------------------------------------------------------
4.使用以下方式连接MS SQL Server 2005:
代码如下:
//链接数据库
$conn=mssql_connect('localhost','sa','123456');
mssql_select_db('gu_dde',$conn);
//query语句
$Query="select * from dde_top";
$AdminResult=mssql_query($Query);
//输出结果
$Num=mssql_num_rows($AdminResult);
for($i=0;$i<$Num;$i++)
{
$Row=mssql_fetch_array($AdminResult);
echo($Row[1]);
echo("
");
}
?>
-----------------------------------------------------------------------
5.FAQ常见问题:
1报错:
Fatal error: Call to undefined function mssql_connect()
解决:
使用MSSQL_系列函数
要使用这两种都需要在php.ini进行设定:
(1)允许 DCOM,需要将php.ini中的 ;com.allow_dcom=TRUE前的分号";"去掉。
(2)使用MSSQL扩展,需要php.ini中的 ;extension=php_mssql.dll前的分号";"去掉。(关键)
(3)确认extension_dir为正确路径,以本机为例:extension_dir = "c:\AppServ5.2.6\php\ext"。
(4)如果仍然机器报错说找不到c:\AppServ5.2.6\php\ext\php_mssql.dll但明明存在这个文件。
解决方法:将php_mssql.dll,ntwdblib.dll拷贝到系统目录\system32下重启测试。。
(注:上面两个dll文件不在相同目录下,我的为c:\AppServ5.2.6\php\ext\php_mssql.dll;c:\AppServ5.2.6\php\ntwdblib.dll)
另外设置好了后记得重启服务器哦。
2.mssql_connect() Unable to connect to server
确认SQLServer2005服务器正常.检查 TCP/IP已经启用
同时右键查看属性:
已经启用是否选择是
确认服务器正确之后,再确认ntwdblib.dll 文件位置是否放到了 c:\windows\system32下
同时要保证ntwdblib.dll 这个文件的版本和sqlserver的版本对应:
下面是对应关系:
2.ntwdblib.dll 版本为 2000.2.8.0 是 对应 SqlServer2000(这个是网络查资料和猜测,没装2000)
2.ntwdblib.dll 版本为 2000.80.194.0 是 对应 SqlServer2005(这个是用实验证明可以用,本人就是用笔记本装了2005)
3.ntwdblib.dll 版本为 2000.80.2039 是 对应 SqlServer2008(这个是猜测没有装2008)
6.其他问题:
如果php apache Sql Server2000都在同一台机器上,访问基本没有问题了。
如果Sql Server2000和php机器是分离的,需要确认ping sqlserver所在机器的机器名能通,如过不通,修改php所在机器的\system32\drivers\etc下的hosts文件,增加一行 sqlserver所在机器的机器ip sqlserver所在机器的机器名字。
如果还是无法访问,需要确认php所在的机器有无暗转mdac。要不索性安装一下sqlserver的客户端好了。
解决问题如下:
1.下载两个文件 php_mssql.dll 和 ntwdblib.dll
php_mssql.dll 如果这个没有复制到c:\windows\system32下,就很容易出现
ntwdblib2093.dll 这个文件要注意版本,不然后面搞得很郁闷.
如果你的MSSQL数据库是2000的,基本上操作都是一样的。
新增一台win2003 server系统的服务器。以前其他的服务器上使用php5.0/5.1,数据库是SQL Server 2000;本次则打算安装SQL Server 2005,php5.3.2;据了解,php5.3版本使用微软的FastCGI模式,这种模式和传统的CGI模式相比采用了更加合理的解析进程启动模 式,速度比CGI快2倍;在PHP5.3以上的版本已经对ISAPI模式不支持。
在已经安装iis6和ms sql server 2005后,整个安装过程是
1.安装FastCGI;
2.安装php5.3.2;
3.安装SQL Server Driver for PHP 1.1驱动;
一、在服务器上安装FastCGI
在服务器上打开下面网址运行Microsoft Web 平台安装程序:
http://www.microsoft.com/web/gallery/install.aspx?appsxml=&appid=PHP%3bPHP%3bPHP
如图:勾选选web服务器/自定义/应用程序开发/FastCGI1.0,下一步直至FastCGI安装完成;
有关FASTCGI的官方说明文档:
二、安装php5.3.2
下载网址:http://windows.php.net/downloads/releases/
截图:
我们下载这里目前所见的最新版本php-5.3.2-Win32-VC9-x86.msi 到服务器上,VC6用于apache,vc9用于win2003 server iis等;熟悉php的程序员可以下载zip版自行配置;
运行php-5.3.2-Win32-VC9-x86.msi ,安装中出现对话框,选择安装目录C:\PHP,选择IIS FASTCGI;完成安装。
三、配置IIS支持PHP
1.FACTCGI安装后在c:\windows\system32\inetsrv下有五个文件,其中有用的 是:fcgtext.dll,fcgitext.ini;打开FASTCGI配置文件fcgitext.ini,在最后[Types]修改为这样的样式:
[Types]
php=PHP
[PHP]
ExePath=c:\Php\php-cgi.exe
2.打开IIS管理器,网站上点右键-属性-主目录-配置-添加fcgiext.dll为可执行文件,配置如下图
经过上述步骤,已经完成了PHP5.3.2在iis6上的安装;如果下载的是zip版,则需对php.ini文件进行配置;
之后,在iis里默认文档添加php。
四、安装SQL Server Driver for PHP 1.1驱动
SQL Server Driver for PHP 1.1驱动支持SQL Server 2005和 SQL Server 2008,目前最新的下载地址是:
http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=ccdf728b-1ea0-48a8-a84a-5052214caad9
系统环境:
1.下载后文件名为SQLServerDriverForPHP11.EXE,解压如图:
- Supported Operating Systems: Windows 2000 Service Pack 4; Windows 7; Windows Server 2003 Service Pack 2; Windows Server 2008; Windows Vista Service Pack 1; Windows XP Service Pack 3
- PHP 5.2.4, or later. For more information about downloading and installing PHP, visit http://php.net/ .
- Microsoft SQL Server 2008 SQL Server Native Client. You can download SQL Server Native Client from a SQL Server 2008 Feature Pack .
- Any edition of SQL Server 2005 or SQL Server 2008.
- A Web server configured to run PHP.
2.拷贝驱动php_sqlsrv_53_ts_vc9.dll到相应的位置PHP目录下ext文件夹内;
3.配置的时候若需要配置一个PHP的扩展,此扩展需要将相关的dll文件全部复制到PHP的扩展目录里面,然后通过修改php.ini来实现PHP的扩展,在php.ini里面需要指明扩展路径,一般情况是在最末尾添加一行,所以修改php.ini实现扩展:
在php.ini的一大堆;extension=**.dll格式里面添加一行,此部分位于以下注释下边一般:
; Windows Extensions
; Note that ODBC support is built in, so no dll is needed for it.
; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5)
; extension folders as well as the separate PECL DLL download (PHP 5).
; Be sure to appropriately set the extension_dir directive.
添加的一行内容为:
extension=php_sqlsrv_53_ts_vc9.dll
保存php.ini后拷贝一份到windows目录下;
选择php_sqlsrv_53_ts_vc9.dll的原因在于,php_sqlsrv_53_ts_vc9.dll是线程安全的驱动,如果服务器本身的环境是使用的php5ts.dll,对应的就用这个驱动;
4.测试配置环境:
整个过程操作好了过后,写一个test.php测试一下配置的相关环境,测试代码如下:
<?php
phpinfo();
?>
若出现下图则说明已经成功启用FastCGI:
若出现以下图片证明php5.3.2连接到ms sql server 2005数据库配置好了:
安装后根据自己需要再对php.ini进行设置,重启IIS就可以了。
注:如果安装sql server 2005时没有安装SQL Server Native Client 10.0 2007.100.2531.00, 则php连接数据库是会有odbc数据源未设置之类的错误提示,那么就需要安装Microsoft SQL Server 2008 Native Client(2005和2008都适用)
下载地址:
X86 Package
(sqlncli.msi) - 4504 KB
X64 Package
(sqlncli.msi) - 7919 KB
IA64 Package
(sqlncli.msi) - 11078 KB
安装后在服务器上数据源ODBC里会出现SQL Server Native Client 10.0 ,如图
至此,全部安装结束,可以开始编程了;
发表评论
-
php正则表达式 备忘
2014-06-15 02:44 640preg_match( "/([^<]+)&l ... -
php error_reporting
2011-09-05 19:44 1132error_reporting(255); 是 ... -
用PHP脚本和PEAR类创建ZIP档案文件
2011-07-24 23:59 1028在开发Web应用程序时,很有可能您会遇到不同格式的文件—— ... -
ecshop如何在后台管理左侧菜单添加新栏目并管理权限
2010-12-11 13:16 2556在对ecshop进行二次开发的时候,在后台增加一些功能,下面给 ... -
PHP5中Thread Safe(线程安全)None Thread Safe(NTS,非线程安全)的区别
2010-11-26 01:49 10179indows版的PHP 从版本5.2.1开始有Thread ... -
IIS用FastCGI方式安装PHP5.3教程
2010-11-21 15:11 6264php 5.3 出来已经有段时间了,手头有台新服务器正好安装 ... -
PHP 5.3不再支持ISAPI了 && IIS有了官方的FastCGI支持
2010-11-21 15:08 1953话说,一直犯懒没下载一个PHP 5.3,今天一时兴起打算更 ... -
Windows XP IIS PHP5详细配置
2010-11-01 17:47 158一、 软件准备 : ... -
php,几个有用的函数介绍
2010-09-24 15:54 883strtr strtr() 函数转换字符串中/数组中特定的字 ... -
cshop模板smarty foreach详解
2010-07-22 13:48 1742{foreach},{foreachelse} {forea ... -
关于UTF-8和GBK的字符截取函数
2010-02-24 02:07 1165以前在截取 字符 串的时候,字母和数字,都不会出现太多的问 ... -
在生产环境中使用php性能测试工具xhprof
2009-09-28 12:58 1115xhprof 是facebook开源出来的一个php性能测试 ... -
PHP性能优化的技巧
2009-09-28 12:50 1297关于require, inclu ... -
php 静态化页面 生成静态页面
2009-08-20 01:44 2190前言: 目前网络上好多 ... -
PHP语言中global和$GLOBALS[]的分析
2009-08-17 04:47 1527原来以为global和$GLOBALS除了写法不一样以为,其他 ... -
揭开正则表达式的神秘面纱
2009-03-25 14:16 923引言 正则表达式(regular expres ... -
css
2008-10-28 09:16 1009http://www.w3school.com.cn -
7种流行PHP集成开发工具(IDE)的比较
2008-08-05 00:50 2199本文发掘集成开发环境(IDE)的所有用途,并比较 7 种 ...
相关推荐
java连接mysqljava连接mysql
在我们从我们的MySQL数据库中获取我们的Web页面所包含的内容之前,我们首先必须知道如何建立与MySQL的连接。在第二章中,我们使用了一个叫mysql的程序来做...PHP不需要这样的一个程序,对连接MySQL的支持是语言内置的。
PHP连接MySQL
一个普遍通用的PHP连接MYSQL数据库类
php与mysql连接代码
用来连接mysql数据库,获取与mysql数据库的连接,十分方便。
本文章是一款比较实例的php 连接mysql数据库的连接类,比起一般的php mysql数据库函数要实用方法了很多,操作维护起来也很简单,只要处理这一个就KO了,实例化时自动连接数据库,连接mysql服务器,连接数据库,设置字符...
php 连接mysql数据库做简单的登录页面,实现用户的登录注册功能,连接数据库需改动一下conn.php里面的链接参数
我们现在一般网站都是利用的MySQL数据库搭建网站的,但是在网上看到很多网友吐槽数据库连接不上的问题,现在我就结合相关资料向提出一些我个人的见解,希望对大家解决问题有帮助。 一般MySQL连接不上,可能有两大...
使用VFP 9.0想连接MYSQL 数据库,连接串都正确了,安装了ODBC但一直接不上,原来 是ODBC版本的问题。64位电脑安装这个ODBC驱动后,VFP就可以连接到MYSQL了。
PHP连接MYSQL数据库PHP连接MYSQL数据库
java jsp 连接 mysql 数据库 jar包java jsp 连接 mysql 数据库 jar包java jsp 连接 mysql 数据库 jar包java jsp 连接 mysql 数据库 jar包java jsp 连接 mysql 数据库 jar包java jsp 连接 mysql 数据库 jar包
是MT4客户端连接MYSQL的例子,经测试可用
php连接mysql的执行代码格式。
mysql-connector-java-bin-jar,java连接mysql库,适用java8
winform,EF连接mysql数据库驱动,安装重启vs,实现连接mysql的小工具。现在竟然需要积分了,0积分多好
主要介绍了php封装的连接Mysql类及用法,基于php封装了简单的MySQL数据库的连接、查询、遍历等技巧,并附带说明了其具体用法,创建构造函数 数据库名 主机名 用户名 密码。
CentOS LAMP环境搭建和测试php与mysql的连接
java连接mysql驱动。java连接mysql驱动。java连接mysql驱动。
php数据库连接mysql封装类,改类能让初学着更好的实用php连接mysql