Zend没有加载pdo_dblib

时间:2017-09-25 15:00:09

标签: php zend-framework pdo

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

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

当我使用调试器运行应用程序时,语句$a = extension_loaded('pdo_dblib');的值为false

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

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

1 个答案:

答案 0 :(得分:0)

关键不是Zend,而是测试的细节:

  • 在终端中运行print(extension_loaded('pdo_dblib')); 会返回1
  • 当我使用调试器运行应用程序时,语句$a = extension_loaded('pdo_dblib');的值为false

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

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