我正在尝试连接到我们可以通过“Microsoft SQL Server Management Studio”访问的 SQL Server:
我已经尝试了很多我在 SO 上看到的不同的东西,但没有任何效果。我收到错误Fatal error: Uncaught Error: Call to undefined function sqlsrv_connect() in C:\Apache24\htdocs\test.php:52 Stack trace: #0 {main} thrown in C:\Apache24\htdocs\test.php on line 52
当运行以下代码时test.php
page:
$serverName = "SERVER.DOMAIN.COM, 1433"; //serverName\instanceName, portNumber (default is 1433)
$connectionInfo = array( "Database"=>"DB_NAME", "UID"=>"USER", "PWD"=>"PASS");
$ma_conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $ma_conn ) {
echo "Connection established.<br />";
}else{
echo "Connection could not be established.<br />";
die( print_r( sqlsrv_errors(), true));
}
我的 php.ini 文件已启用许多不同的扩展,但没有一个起作用。我已经尝试了以下所有方法:
extension = php_sqlsrv_56_ts.dll
extension=php_sqlsrv_55_ts.dll
extension=php_sqlsrv_55_nts.dll
extension=php_sqlsrv_55_ts.dll
extension=php_pdo_sqlsrv_55_ts.dll
extension=php_pdo_mssql.dll
extension=php_pdo_mysql.dll
目前我有:
extension_dir = "c:\apache24\php7\ext\"
extension=php_pdo.dll
extension=php_pgsql.dll
[PHP_SQLSRV]
extension=php_sqlsrv_54_ts.dll
[PHP_PDO_SQLSRV]
extension=php_pdo_sqlsrv_54_ts.dll
在 CMD 中使用 Apache 和 PHP 的机器上,我得到以下信息:
Microsoft Windows [Version 6.3.9600]
(c) 2013 Microsoft Corporation. All rights reserved.
C:\Windows\system32>php -c c:\apache24\php7\php.ini -v -display_startup_errors=1
PHP Warning: PHP Startup: Unable to load dynamic library 'c:\apache24\php7\ext\ php_pdo.dll' - %1 is not a valid Win32 application.
in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'c:\apache24\php7\ext\ php_sqlsrv_54_ts.dll' - %1 is not a valid Win32 application.
in Unknown on line 0 PHP
Warning: PHP Startup: Unable to load dynamic library 'c:\apache24\php7\ext\ php_pdo_sqlsrv_54_ts.dll' - %1 is not a valid Win32 application.
in Unknown on line 0
PHP 7.0.10 (cli) (built: Aug 18 2016 09:48:53) ( ZTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
C:\Windows\system32>
我也下载并运行SQLSRV32.EXE
里面的C:\Apache24\php7\ext
folder.
I have:
- Windows Server 2012 RS win64
- 阿帕奇 2.4.23 win64
- PHP 7.0.10 win64
- Microsoft SQL Server 2012 本机客户端 win64
- Microsoft Visual C++ 2012 x64 和 x86 可再发行组件(两种不同)
- Microsoft Visual C++ 2015 可再发行组件(x64 和 x86)- 14.0.23026
- 适用于 SQL Server 的 Microsoft ODBC 驱动程序 11