Php ZF2和SQL server“以用户身份执行”

Php ZF2和SQL server“以用户身份执行”,php,sql-server,pdo,zend-framework2,impersonation,Php,Sql Server,Pdo,Zend Framework2,Impersonation,目前,我们正在为内部应用程序运行Zend Framework 2和SQL server。我们为AuditTrail准备了一个存储过程。此AuditTrail包括进行更改/插入的AuditUser。此时,此AuditUser是PDO连接的用户名 我们正在努力改变这种情况,此AuditUser是进行更改并希望使用EXECUTE as user='[REALUSER]'的活动用户。他们奇怪的行为开始了。执行此语句时,一切正常。但当我刷新页面时,SQL server返回以下错误: 致命错误:未捕获的异常

目前,我们正在为内部应用程序运行Zend Framework 2和SQL server。我们为AuditTrail准备了一个存储过程。此AuditTrail包括进行更改/插入的AuditUser。此时,此AuditUser是PDO连接的用户名

我们正在努力改变这种情况,此AuditUser是进行更改并希望使用EXECUTE as user='[REALUSER]'的活动用户。他们奇怪的行为开始了。执行此语句时,一切正常。但当我刷新页面时,SQL server返回以下错误:

致命错误:未捕获的异常“PDOException”带有消息 'SQLSTATE[HY000]:[Microsoft][SQL Server本机客户端 SQL Server上发生11.0]未指定的错误。连接可能已被服务器终止。'

Zend\Db\Adapter\Exception\InvalidQueryException:语句无法执行 执行08S01233-[Microsoft][SQL Server本机客户端 11.0]共享内存提供程序:管道的另一端没有进程

在再次刷新之后,它的执行再次正常

“我认为它与来自SQL/PDO的会话有一些关系,”会话被切换了。但我无法解决这个问题。有人能帮忙或提出一个前进的方向吗

问候,


Pim

对于那些遇到相同问题的人,此链接帮助了我:

如果您像我一样使用sqlsrv函数,则只需将ConnectionPooling设置为false,如给定链接中所述:

e、 g。 $options=arrayDatabase=>master,UID=>user,PWD=>password,ConnectionPooling=>0