我通过了几个问题和建议来解决上述问题,但一点运气都没有。
我有以下设置:
Windows Server 2008 R2
xampp-win32-1.8.2-5-VC9-installer
SQLSRV30 - php driver
sqlncli - Microsoft SQL Server 2008 R2 Native Client Set Up
我安装了其他所有东西,我在 php.ini 文件中有以下内容 下面的代码显示了 php 驱动程序所在的位置:
; On windows:
extension_dir="C:\xampp\php\ext"
以下是windows extensions下
extension=php_pdo_sqlsrv_54_ts.dll
extension=php_sqlsrv_54_ts.dll
当我检查 phpinfo 文件时,未列出 sqlsrv。我知道这可能意味着它没有安装,但它已安装。
以下是php信息文件:
我还重新启动了 apache 和服务器。我错过了什么吗?
我收到以下错误:
Call to undefined function sqlsrv_connect()
这是我用来连接的代码:我正在连接到另一台托管 SQL Server 2005 的服务器
/Connection to SQL Server Database
error_reporting(E_ALL);
$serverName = "172.xx.x.xxx";
$connectionInfo = array('Database'=>'Eque', "UID"=>"develop", "PWD"=>"develop");
$conn = sqlsrv_connect($serverName, $connectionInfo);
if($conn) {
echo "Connection established.<br />";
}else {
echo "Connection could not be established.<br />";
die(print_r(sqlsrv_errors(), true));
}
最佳答案
我一直在努力完成这个过程,这就是最终奏效的方法。我将 php 5.4.16 和 Apache 2.4.4 与 Sql Express 2008 R2 一起使用。
从 Microsoft download site 下载适用于 SQL Server 的 PHP 的 Microsoft 驱动程序
将文件解压到本地文件夹
- 将 php_sqlsrv_54_ts.dll 和 php_pdo_sqlsrv_54_ts.dll 复制到 Ext 文件夹 (C:\wamp\bin\php\php5.4.16\ext)。您可以通过检查存储在 Apache (C:\wamp\bin\apache\Apache2.4.4\bin) 下的 php.ini 文件中的 extension_dir 的值来确认该文件夹。
- 通过添加以下行为两个驱动程序添加扩展: 扩展=php_sqlsrv_54_ts.dll extension=php_pdo_sqlsrv_54_ts.dll 如果没有注释,请注释掉下面现有的行: ;extension=php_pdo_mssql.dll ;extension=php_mssql.dll
- 启动所有Wamp服务
关于php - 无法调用函数 sqlsrv_connect(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24776078/