提问人:doge guide 提问时间:9/13/2023 最后编辑:doge guide 更新时间:9/15/2023 访问量:64
设置 sqlsrv_connect() 函数才能正常工作?
Set up sqlsrv_connect() function to work correctly?
问:
只是要切换到PDO,以此为参考
我在基于 Debian 12 的 q4os 5.2 上运行 Microsoft SQL Server 2022,我正在尝试使用此代码连接到它
function OpenConnection() {
$serverName = "localhost, 1433";
$connectionInfo = array( "Database"=>"db", "UID"=>"acc", "PWD"=>"87654321Abc");
$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));
}
}
OpenConnection();
该页面在本地(不是 Docker)运行,SQL Server 由 localhost (127.0.0.1) 提供,并且我安装并启用了 SQL Server 驱动程序以及 Apache PHP 扩展。
当我在 Apache 上打开它时,我收到 HTTP 500 错误,但是当我不声明该函数时,它很好。
找不到如何设置它,这是我在网上找到的许多不同方式。
我尝试将主机名设为 localhost 而不是 q4os-desktop;终端中的主机名,我在网上找到的不同解决方案,以及来自php和microsoft的示例,当然没有成功。
答:
-1赞
Kukuh Gumilang
9/13/2023
#1
试试这个:
$connection = sqlsrv_connect('YOUR_IP\MSSQL_INSTANCE_NAME',
array(
'UID' => 'USERNAME_MSSQL',
'PWD' => 'PASSWORD_MSSQL',
'Database' => 'DATABASE_NAME',
'CharacterSet' => 'UTF-8',
)
);
评论
1赞
AlwaysLearning
9/13/2023
它是适用于 Linux 的 SQL Server,因此没有可用于解析实例名称的 SQL Browser 服务。
1赞
Dale K
9/13/2023
请使用编辑器中的代码格式选项,而不是转义大量字符。
1赞
user3783243
9/13/2023
请参阅 meta.stackoverflow.com/questions/251361/...以获取未来的答案/问题。
评论
HTTP 500 error
是常规服务器错误状态代码。日志显示实际错误是什么?你需要吗,我会在这一点上使用 PDO。它支持 mssql 以及其他 DBS,因此如果您为此学习它,那么您将学习所有(MySQL、PostGres 等)。sqlsrv_*
$serverName = "localhost,1433";
$serverName = "localhost";
localhost
::1
127.0.0.1
/var/opt/mssql/log/errorlog