广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >如何解决php连接mssql失败的问题
  • 177
分享到

如何解决php连接mssql失败的问题

2023-06-22 07:06:15 177人浏览 泡泡鱼
摘要

这篇文章将为大家详细讲解有关如何解决PHP连接mssql失败的问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。php连接mssql失败的解决办法:1、在php.ini文件中找到extension=php

这篇文章将为大家详细讲解有关如何解决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 数据库 SQL Server extension sqlserver 服务器

今天接到一个问题要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连接mssql失败的问题”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: 如何解决php连接mssql失败的问题

本文链接: https://www.lsjlt.com/news/303214.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何解决php连接mssql失败的问题
    这篇文章将为大家详细讲解有关如何解决php连接mssql失败的问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。php连接mssql失败的解决办法:1、在php.ini文件中找到extension=php...
    99+
    2023-06-22
  • 如何解决navicat连接mysql失败的问题
    这篇文章给大家分享的是有关如何解决navicat连接mysql失败的问题的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。Navicat连接mysql数据库时,不断报1405错误,下...
    99+
    2022-10-18
  • PostgreSQL之连接失败的问题及解决
    目录PostgreSQL连接失败问题问题解决解释PostgreSQL连接出错 could not connect to server:Connection refused(0x0000274D/10061)方法...
    99+
    2023-05-05
    PostgreSQL连接失败 PostgreSQL连接问题 PostgreSQL连接失败解决
  • 如何解决远程连接mysql失败了的问题
    如何解决远程连接mysql失败了的问题?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!远程连接mysql失败了的解决方法:1...
    99+
    2022-10-18
  • Navicat连接MySQL时出现的连接失败问题及解决
    目录一、安装mysql的注意事项二、Navicat连接mysql方法一方法二总结一、安装MySQL的注意事项 官网下载安装,选择zip包,解压后不用安装只用配置好环境变量Path并在解压后的文件夹里新建文本文档my.in...
    99+
    2023-05-12
    Navicat连接MySQL Navicat连接MySQL连接失败 Navicat连接MySQL失败
  • 解决Navicat for Mysql连接报错1251的问题(连接失败)
    因为之前写的不太详细这次修改补充一下,但是我的mysql之前的版本是8.0现在的版本是5.7所以截图有些怪,不过步骤一模一样,2个版本我都试过。 第一步:打开Command Line...
    99+
    2022-11-12
  • Xshell7远程连接失败(connection failed)的问题解决
    目录讲在前面问题呈现原因具体操作(step by step)1.检查是否安装ssh,打开一个cmd,看看输入ssh后得到的结果2.安装ssh3.打开SSH服务4.检查linux上sshd有没有打开5.再回Xshell上试...
    99+
    2022-08-16
    Xshell7远程连接失败 Xshell7远程连接
  • php无法链接mssql问题如何解决
    这篇文章主要介绍“php无法链接mssql问题如何解决”,在日常操作中,相信很多人在php无法链接mssql问题如何解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php无法链接mssql问题如何解决”的疑...
    99+
    2023-06-20
  • 如何解决Linux或者Mac下adb连接失败的问题
    这篇文章主要讲解了“如何解决Linux或者Mac下adb连接失败的问题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何解决Linux或者Mac下adb连接失败的问题”吧!查看设备Vende...
    99+
    2023-06-12
  • 如何解决php查询失败问题
    本篇内容介绍了“如何解决php查询失败问题”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!php查询失败的解决办法:1、使用函数“mysql_...
    99+
    2023-06-25
  • ssl连接失败如何解决
    ssl连接失败解决的方法:1、浏览网页弹出ssl连接错误,应用SSL1.0、使用SSL 1.1和使用SSL 1.2并重启浏览器即可;...
    99+
    2023-02-08
    ssl连接 ssl
  • php连接mysql失败怎么解决
    如果PHP连接MySQL失败,可以尝试以下解决方法:1. 检查MySQL服务器是否正在运行,并确保MySQL服务器的主机名、用户名和...
    99+
    2023-08-14
    php mysql
  • jdbc连接失效问题如何解决
    要解决JDBC连接失效问题,可以尝试以下几个方法: 检查数据库服务器是否正常运行:确保数据库服务器正常运行并且可以接收连接。可以...
    99+
    2023-10-24
    jdbc
  • phpmyadmin怎么解决控制用户连接失败问题
    这篇文章主要介绍“phpmyadmin怎么解决控制用户连接失败问题”,在日常操作中,相信很多人在phpmyadmin怎么解决控制用户连接失败问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,...
    99+
    2022-10-18
  • 如何解决php weixin 配置失败问题
    本文操作环境:Windows7系统,PHP7.4版,Dell G3电脑。如何解决php weixin 配置失败问题php 微信公众号开发校验token 提示配置失败<php // //最简单的验证方式 // echo $_GET[&q...
    99+
    2016-12-05
    php 微信
  • 如何解决php curl请求失败问题
    本文操作环境:Windows7系统,PHP7.1版,Dell G3电脑。如何解决php curl请求失败问题php curl 发送请求失败问题前提:运行在命令行模式中(没有超时设置)多次调用curl ,可能出现发送请求失败的问题, 原因可以...
    99+
    2020-05-27
    php curl
  • 如何解决owncloud php 语言失败问题
    本文操作环境:Windows7系统、PHP7.1、Dell G3。owncloud常见问题解决方案PHP 似乎没有设置好查询的系统环境变量。 用 getenv(\"PATH\") 测试只返回一个空值。解决方案:在 php...
    99+
    2014-11-08
    owncloud php
  • 如何解决php清除cookie失败问题
    本篇内容主要讲解“如何解决php清除cookie失败问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何解决php清除cookie失败问题”吧!php清除cookie失败是因为cookie的p...
    99+
    2023-06-25
  • 用php连接数据库失败如何解决
    本文小编为大家详细介绍“用php连接数据库失败如何解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“用php连接数据库失败如何解决”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。用php连接数据库失败的解决办法:...
    99+
    2023-07-04
  • jedis连接redis失败如何解决
    Jedis连接Redis失败可能有多种原因,可以尝试以下解决方案:1. 检查Redis服务器是否正在运行。可以通过在命令行中执行`r...
    99+
    2023-08-23
    jedis redis
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作