php连接mssql失败怎么办

php连接mssql失败的解决办法:1、在php.ini文件中找到extension=php_mssql.dll并去掉前面的分号;2、把php_mssql.dll文件复制到“c:/windows/system32/”目录下;3、重启iis。

php连接mssql失败怎么办

本文操作环境:windows7系统、PHP5版、DELL G3电脑

php连接mssql失败怎么办?

关于PHP无法连接MSSQL数据库的解决办法:

php 数据库 sql server extension sqlserver 服务器

立即学习“PHP免费学习笔记(深入)”;

今天接到一个问题要php5+iis6+mysql5的平台环境上访问sqlserver2000的数据,结果运行时发现php连接远程mssql数据库出错,出错代码如下:

Warning: mssql_connect(): Unable to connect to server:

登录后复制

想想以前都是没问题的,怎么回事呢?后来去网上搜索,发现一篇文章,才发现原来服务器是需要安装mssql才能用php连接mssql的,本来新服务器上 我是不需要用到mssql的,但是现在没办法了,只能把扩展了,扩展了mssql之后就没问题了。

扩展方法:

1、在c:/windows/php.ini文件中找到 

;extension=php_mssql.dll 把前面的分号去掉  

找到

;extension_dir   =   “./” 把扩展库目录改为php的库目录如:extension_dir   = “c:/php/ext”

 

2、把php_mssql.dll文件复制到c:/windows/system32/目录下

3、重启iis。

下面是找到的一篇文章。

php配置:

在php.ini文件里设置如下,找到  

;extension=php_mssql.dll   把前面的分号去掉  

找到extension_dir   =   d:/extension/  

你的php.ini里面可能不是d:/extension/  

改成在php安装目录下面的extensions目录下面的php_mssql.dll,所在的路径,如果你没有把它移动到其他地方(假设你的php安装路径是d:/php)  

就改成extension_dir=d:/php/extensions/  

然后重新启动web服务器

这一点很容易做到,但是做完这样的设置后还是连不上,错误的信息如下:

MS SQL Server 数据库连接错误!请检查数据库主机变量设置是否正确!!!

而主机的变量设置我是一遍一遍的检查,那些设置是一点问题都没有的,翻遍网页,找到了下面的这点蛛丝马迹:

php.com资料:I am trying to connect to SQL Server 2000 from PHPI bumped to following warning:Warning: mssql_connect(): Unable to connect to server: SERVER/Portal....... on line 5on line 5 there is:$db_connect = mssql_connect('SERVER/Portal', 'sa', 'my_passwd');I did the following1.enabled php_mssql.dll extension in PHP.ini2.every dll is in proper place(System32 or PHP folder),including ntwdblib.dllI search lots of profile throught web ,but no one give me proper answer to resolve it.after a few hour ,I found the problem was caused byntwdblib.dll ,which version is 7.00.839 ,when I replaced old ntwdblib.dll with the newntwdblib.dll ,which version is 8.00.194 ,all problem are solved.We had some, read A LOT, of problems with MSSQL under Windows 2003.We had 2 the same windows, php, php-ini, everything machines but only one could connect.Unable to connect was the error message.Finnaly we checked the version of ntwdblib.dll and the one distributed with PHP was 7.00....and the version of the one on the SQL Server install was 8.00.... so we copied this one inthe php and apache dir and it worked.

登录后复制

问题就这样被找到了,惹祸的是它 ntwdblib.dll

ntwdblib.dll的主要作用是提供sql server连接服务。

我用的php版本是5.25,在安装它的服器的 windows/system32/ 下我查到ntwdblib.dll文件的版本是2000.2.8.0 ,这个版本支持的是sql server 7.0, 因为安装PHP时会把dlls下面的所有文件覆盖到系统

目录下,所以当我用它去连接 sql server 2000 的时候当然会是无法连接了。

后来我在一台正常安装sql server 2000 的服务器上查到 ntwdblib.dll的版本是 2000.80.2039.0,我把这个文件拷过去,覆盖掉以前的版本,重启服务器后,一切正常。

补充:如果数据库名的开头是数字时也会提示无法打开,这时要做的很简单,把数据库的名字用中括号 [ ] 括起来就搞定了,如 123bbs 改写成 [123bbs]就没有问题了,另外如果你的数据库名字与sql server中的保留字冲突的话也会出现这种情况,用中括号的方法一样可以解决。

最终,PHP无法正确连接sql server 2000的问题终于解决了,虽然耗费大半天的时间,但收获还是很大的,现在把它贴出来,也让遇到同样问题的兄弟们少走一些弯路。

最后,如果您的目标MSSQL电脑装有防火墙,请开放1433端口,windows xp系统更是如此!

看了以上资料让装sqlserver2000的朋友传“ntwdblib.dll ”文件我,自己本地测试果然成功,但把上传到服务器上,结果info()没有mssql扩展了,本来已经加载的怎么就没有了,把php.ini文件和本地对比基本没有差别,就是扩展不了,本地一切正常。

最后发现还是“ntwdblib.dll ”的版本问题,找到个更高的“ntwdblib.dll ”版本替换。

推荐学习:《PHP视频教程》

以上就是php连接mssql失败怎么办的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2093516.html

(0)
上一篇 2025年2月24日 12:28:29
下一篇 2025年2月24日 12:28:50

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • Linux下如何安装PHP的memcache扩展

    Step 1: 安装依赖项 在安装memcache扩展之前,我们需要安装一些系统依赖项。打开终端并输入以下命令: sudo apt-get updatesudo apt-get install build-essential libtool…

    数据库 2025年3月28日
    100
  • 做为一名优秀的php工程师,这些 Linux 指令你都掌握了吗?

    前言 本文收录了 linux 常用指令,这里面有个小技巧,基本上所有指令后面跟上 –h 可以显示其使用方法。故不必死记硬背,知其意乃通其形。(推荐:Linux视频教程) 分类如下:  ● 文件 & 目录操作(16 个) …

    2025年3月13日
    400
  • 使用PHP和Vue.js构建快速响应式 Web 应用程序

    在当今的时代,web 应用程序需要快速响应和高效的交互特性来满足用户的需求。为此,php 和 vue.js 成为了两个广泛使用的工具,用于构建快速响应式的 web 应用程序。 PHP 是一种流行的服务器端脚本语言,它可以协助 Web 开发人…

    编程技术 2025年3月13日
    200
  • 如何在PHP中实现爬虫功能

    在互联网时代,信息获取已经成为人们日常生活中的重要部分。然而,与此同时,人们也需要处理大量的信息以提取重要的数据。这就促使出现了“爬虫”这个概念。爬虫,又称网络蜘蛛,是一种按照特定规则自动获取网页信息的程序。在php中,实现爬虫功能可以采用…

    编程技术 2025年3月13日
    200
  • PHP中如何进行跨领域分析和综合分析?

    近年来,跨领域分析和综合分析在数据分析领域越来越受到重视。在php编程语言中,我们也可以进行跨领域分析和综合分析,以发现数据中的更多信息和价值。本文将介绍php中的跨领域分析和综合分析方法。 一、跨领域分析 跨领域分析是指使用不同领域的知识…

    编程技术 2025年3月13日
    200
  • PHP中的机器学习

    在当今时代,机器学习已经不再是一项神秘的技术。越来越多的人意识到了机器学习的重要性,并且开始学习和应用。但是,大多数人在想到机器学习时,首先想到的是python,而很少有人知道php也可以进行机器学习。 PHP是一种通用编程语言,通常用于W…

    编程技术 2025年3月13日
    200
  • 如何用PHP打造完美的表单验证

    在网页开发中,表单验证是非常重要的一环,它可以保证用户的输入数据符合指定的格式和规则,有效地防止了一些不必要的错误和恶意行为。而php作为一种强大且流行的编程语言,可以通过编写代码来实现表单验证的功能。但是,如何用php打造完美的表单验证?…

    编程技术 2025年3月13日
    200
  • PHP如何实现用户画像分析,提升精准营销

    随着互联网和移动互联网的快速普及和发展,大数据时代已经到来。各行各业都在积极探索如何利用大数据,进行精准营销。其中,用户画像分析是一种非常有效的营销手段。而php作为开发网站和数据处理的语言,也可以用来实现用户画像分析。本文将介绍如何利用p…

    编程技术 2025年3月13日
    200
  • PHP实现实时社交媒体分析技术研究

    社交媒体在当今社会中的地位越来越重要,人们通过社交媒体获得信息、发布信息和进行互动。社交媒体上的大数据信息一直是许多机构和企业关注的焦点,而实时社交媒体分析技术正是应运而生的。本文将探讨如何利用php来实现实时社交媒体分析技术。 一、实时社…

    编程技术 2025年3月13日
    200
  • 如何使用PHP和Vue.js构建单页面应用

    近年来,随着web应用程序的日渐复杂,单页面应用(spa)的概念渐渐成为了前端开发的新潮流。spa是一种web应用程序,它使用异步javascript和xml(ajax)来实现无需重新加载整个页面的用户界面更新。在spa中,所有页面内容都在…

    编程技术 2025年3月13日
    200

发表回复

登录后才能评论