Zend不加载pdo_dblib

Zend不加载pdo_dblib

问题描述:

我试图通过pdo_dblib(使用PHP版本7.0.22)将Zend应用程序(版本1.11.11)连接到一个mssql服务器。我知道我的PHP安装包含pdo_dblib,因为在终端中运行print(extension_loaded('pdo_dblib'));返回1。在.ini文件,我有:Zend不加载pdo_dblib

resources.db.adapter = "pdo_mssql" 
resources.db.params.pdoType = "pdo_dblib" 

当我与一个调试器中运行应用程序时,声明$a = extension_loaded('pdo_dblib');的价值false

由于此PDO::getAvailableDrivers()不包含pdo_dblib(当然),这会导致应用程序抛出异常。

有谁知道为什么会出现这个问题,以及如何解决它?

+0

http://php.net/manual/en/pdo.installation.php你启用了扩展吗?在Linux上,它会是'php_pdo_mssql.so' – bassxzero

的关键不在于Zend的,但在测试中的微妙细节:

  • 运行在返回1
  • 终端print(extension_loaded('pdo_dblib'));当我用调试器中运行应用,值的声明$a = extension_loaded('pdo_dblib');false

在终端上的PHP不能保证与相同机器的Web服务器上的PHP具有相同的配置,甚至是相同的版本。

您将需要查看您的主机设置,以了解如何在Web服务器的PHP副本中启用php.ini(或同等版本)中的扩展。在您的应用程序中运行phpinfo()的输出,而不是终端,可能会有所帮助。