在第 7 行调用 C:\wamp\www\Webs\client.php 中未定义的函数 sqlsrv_connect()
Posted
技术标签:
【中文标题】在第 7 行调用 C:\\wamp\\www\\Webs\\client.php 中未定义的函数 sqlsrv_connect()【英文标题】:Call to undefined function sqlsrv_connect() in C:\wamp\www\Webs\client.php on line 7在第 7 行调用 C:\wamp\www\Webs\client.php 中未定义的函数 sqlsrv_connect() 【发布时间】:2013-08-27 07:37:42 【问题描述】:我使用的是 windows 8 pro,Wamp 服务器(php V5.3.5,apache V2.2.17),Sql server 2005 express 版本。我已经下载了 sqlsrv 驱动程序并将它们解压缩到 php 扩展文件夹 (C:\wamp\bin\php\php5.3.5\ext
),还通过添加扩展来更新 php.ini 文件
extension=php_sqlsrv_53_ts_vc6.dll
extension=php_pdo_sqlsrv_53_ts_vc6.dll
我在所有dll文件上进行了一系列尝试和错误后使用了这两个,重新启动wamp服务器时就是这两个没有错误
这是代码的连接行;
$con = sqlsrv_connect('TAQUATECH\SQLEXPRESS') or die("cannot connect");
出现以下错误;
致命错误:调用未定义的函数 sqlsrv_connect() C:\wamp\www\Webs\client.php 第 7 行
请,我需要有人帮助我,我将非常感激
【问题讨论】:
如果您看不到启动错误,请查看 Apache 日志。 【参考方案1】:抱歉来不及回答,但我也遇到了同样的错误,我发现 Wamp Server 64bit 不支持 SQL Server Connection,你必须安装一个 32bit 版本的 wamp server。
【讨论】:
【参考方案2】:对于使用 64 位系统(OS、WAMP、MSSQL)的用户,这些 64 位驱动程序可以为他们提供服务并修复错误:
致命错误:调用 C:\wamp\www 中未定义的函数 sqlsrv_connect()...
驱动程序 SQLSRV x64:
http://robsphp.blogspot.in/2012/06/unofficial-microsoft-sql-server-driver.html
【讨论】:
【参考方案3】:您需要在您的网络服务器上安装并启用 sqlsrv。看看PHP官方网站上的installation page。
【讨论】:
感谢查看安装页面,根据微软网站的要求,window 8不包括在内,是不是有问题?,因为我使用的是window 8 os【参考方案4】:Installation 的 Microsoft Drivers 3.0 for PHP for SQL Server 将解决此问题。也试试这个PHP Manual。
编辑:
可在此处下载最新版本的驱动程序: » SQLSRV 3.0 下载。如果您需要对 PHP 5.2 和/或 PHP 的支持 用VC6编译,使用2.0版本的驱动: » SQLSRV 2.0 下载。
Source
【讨论】:
感谢您的回复,但之前已经完成安装,甚至已经安装了2.0版本 使用 php 5.3.5 时需要 3.0 我编辑了 php.ini 以使用 3.0 dll 文件,当我重新启动 wamp 服务器时,它显示一条警告消息 PHP Startup: sqlsrv: Unable to initialize module Module compiled with build ID=API20090626, TS,VC9 PHP 编译 build ID=API20090626,TS,VC6 这些选项需要匹配 请通过此链接。与您所面临的问题完全相同。 ***.com/questions/12154738/… 我使用了 extension=php_sqlsrv_53_ts_vc6.dll extension=php_pdo_sqlsrv_53_ts_vc6.dll 服务器启动成功但仍然无法识别函数“sqlsrv_connect()” - 相同的未定义错误消息【参考方案5】:是的,我找到了解决方法; 问题是,在我的系统上使用 apache 服务器运行 php 脚本,我停止了 wamp 服务器并使用 IIS 7 为 PHP 配置 fastCGI,您可以在此处获得视频教程
http://www.iis.net/learn/application-frameworks/running-php-applications-on-iis/set-up-fastcgi-for-php.
简单又好用,现在我可以同时连接到 sql server 2005 和 2008
我的 PHP 详细信息 版本 => 5.3.5 编译器 => MSVC6 (Visual C++ 6.0) SqlSrv 驱动程序 => php_sqlsrv_53_ts_vc6.dll
【讨论】:
【参考方案6】:use 32 bit PHP Version.
enable below one of them in php.ini
[PHP_PDO_SQLSRV_53_NTS]
extension=php_pdo_sqlsrv_53_nts.dll
[PHP_SQLSRV_54_NTS]
extension=php_sqlsrv_54_nts.dll
[PHP_SQLSRV_53_NTS]
extension=php_sqlsrv_53_nts.dll
[PHP_PDO_SQLSRV_54_NTS]
extension=php_pdo_sqlsrv_54_nts.dll
thease dll version you can downlowd online
【讨论】:
以上是关于在第 7 行调用 C:\wamp\www\Webs\client.php 中未定义的函数 sqlsrv_connect()的主要内容,如果未能解决你的问题,请参考以下文章
Spring Rest 服务调用在第 1 列的第 1 行返回错误:文档为空
在第 46 行调用 \sites\all\modules\community\entityreference\entityreference.install 中的未定义函数 entityreferen
PHP 致命错误:在第 1 行 Laravel Artisan Tinker 的 eval() 代码中调用未定义函数 table()
致命错误:在第 5 行调用 C:\wamp\www\Test-CI\application\views\layout.php 中未定义的函数 base_url()