PHP连接sql server 2005环境配置及问题解决
这是一篇关于如何在Windows环境下配置PHP连接SQL Server 2005的指南,适用于希望实现这一功能的朋友们。
一、在Windows系统中配置PHP以连接SQL Server 2005
确保你的Windows系统(无论是Win7还是XP)已经安装了PHP和相关的组件。在C盘下,PHP的相关文件位于特定的目录。为了连接SQL Server,我们需要进行一些配置。
1. 检查并(如果需要的话)替换phptwdblib.dll文件。这是一个关键的动态链接库文件,对于PHP连接SQL Server至关重要。请确保下载正确版本的ntwdblib.dll(版本号为2000.80.194.0)。
2. 配置PHP。打开phpi文件,进行以下操作:
去掉extension=php_mssql.dll前的注释符号。
将mssql.secure_connection设置为on。
将php_mssql.dll复制到phpi中指定的extension_dir目录或系统system32目录下。
完成这些配置后,需要重启Apache服务器。值得注意的是,如果你通过php压缩文件手动安装php到IIS下,那么你需要重启整个机器,而不仅仅是IIS。
3. 配置SQL Server。运行SQL Server配置管理器,打开协议Protocols,允许命名管道"named pipe"和"tcp/ip"。然后,右键点击"tcp/ip",打开属性,确保TCP动态端口1433被正确配置。重启SQL Server。
二、使用PHP连接SQL Server 2005
现在,你可以使用以下PHP代码来连接SQL Server 2005:
```php
// 连接数据库
$conn = mssql_connect('localhost', 'sa', '123456');
mssql_select_db('gu_dde', $conn);
// 执行查询语句
$Query = "select from dde_";
$AdminResult = mssql_query($Query);
// 输出结果
$Num = mssql_num_rows($AdminResult);
for ($i = 0; $i < $Num; $i++) {
// 输出每一行的数据
}
?>
```
将此代码保存为test.php文件,并通过浏览器访问。
三、常见问题的解决方案
如果在连接过程中遇到错误,例如报错"Fatal error: Call to undefined function mssql_connect()",那么你需要检查以下几点:
1. 确保在phpi中正确设置了MSSQL扩展和DCOM允许设置。去掉相关行前的分号";"。
2. 确认extension_dir的路径是否正确。例如,在本例中为"c:\php\ext"。
3. 如果仍然报错找不到某个dll文件,尝试将相关dll文件(如php_mssql.dll和ntwdblib.dll)复制到系统目录\system32下并重启测试。
确认服务器无误后,别忘了核查ntwdblib.dll文件是否已经准确放置在c:\windows\system32目录下。这一步操作至关重要,因为它确保了文件的可用性及其与SqlServer版本的兼容性。对于狼蚁网站的SEO优化来说,特定版本的ntwdblib.dll需要与SqlServer版本相匹配。比如,ntwdblib.dll版本为2000.2.8.0时,对应的是SqlServer2000(此信息是通过网络资料和猜测得知,尚未实际安装验证)。而版本为2000.80.194.0的ntwdblib.dll则适用于SqlServer2005(这是通过实验验证过的,且本人笔记本已安装此版本)。至于其他版本,如ntwdblib.dll版本为2000.80.2039时,可能对应SqlServer2008(此信息尚未验证)。
如果在同一台机器上运行php apache Sql Server2005,访问应该毫无障碍。但如果Sql Server2005和php服务器是分开的,就需要确保能通过ping命令访问到sqlserver所在机器。如果无法ping通,需要在php所在机器的\system32\drivers\etc下的hosts文件中添加一行,包括sqlserver所在机器的IP和机器名。如果仍然无法访问,可能需要检查php所在机器是否安装了mdac。如果没有,建议安装sqlserver客户端。
为了解决问题,需要下载两个文件:php_mssql.dll和ntwdblib.dll。特别需要注意的是php_mssql.dll文件必须复制到c:\windows\system32下。而ntwdblib.dll文件的版本选择尤为关键,以免后续出现问题。
至于在Linux环境下php连接sql server 2005,需要先安装LAMP环境中的除php外的其他组件。使用freetds连接MS SQL时,需要安装freetds并配置相关参数。重要提示:在调用mssql_connect函数时,第一个参数应该是freetds配置文件中的配置标识(如[1.1.1.21]),而非sql server的IP。完成这些配置后,编译安装php,并加入必要的配置项--with-mssql=/usr/local/freetds/。如果在编译过程中遇到找不到freetds目录的问题,可以按照官方FAQ的指导进行操作。完成所有准备工作后,重启apache服务器,就可以通过php访问sql server 2005了。
编程语言
- PHP连接sql server 2005环境配置及问题解决
- 解决微信内置浏览器返回上一页强制刷新问题方
- 几个小例子教你如何实现正则表达式highlight高亮
- sqlserverdriver配置方法 jdbc连接sqlserver
- Javascript中字符串相关常用的使用方法总结
- PHP判断json格式是否正确的实现代码
- php echo, print, print_r, sprintf, var_dump, var_expor的使用
- 在.NET中使用Newtonsoft.Json转换,读取,写入的方法介
- thinkPHP5使用Rabc实现权限管理
- 使用SNK密钥文件保护你的DLL和代码不被反编译教
- js微信分享接口调用详解
- Angular.js通过自定义指令directive实现滑块滑动效果
- ES6新特性之字符串的扩展实例分析
- 基于jQuery的ajax方法封装
- 基于RequireJS和JQuery的模块化编程——常见问题全
- 解析php中两种缩放图片的函数,为图片添加水印