首页 > 解决方案 > 如何使用 PHP 在 Linux/Apache 上使用 Windows 身份验证连接到 SQL Server?

问题描述

当 PHP 代码在 Apache 或 PHP-FPM 下的 Linux 机器上执行时,如何使用 Windows 身份验证和本机 SQL 驱动程序连接到 SQL Server?

https://docs.microsoft.com/en-us/sql/connect/php/how-to-connect-using-windows-authentication?view=sql-server-2017

运行 Web 服务器进程(或线程)的凭据必须映射到有效的 SQL Server 登录才能建立连接。

所以基本上问题是如何用 Linux/Apache/PHP-FPM 做到这一点?

标签: phpsql-serverlinuxapachewindows-authentication

解决方案


这个问题的答案是使用 kerberos 和 keytab 文件来存储 Windows 用户凭据,并使用k5start之类的东西自动获取和更新 kerberos 票证。

此链接Connection question Linux Apache+PHP to MS SQL Server using WindowsAuth / Kerberos ("No Kerberos credentials available")回答了这个问题的 PHP/Apache 相关部分。


推荐阅读