Zend 未加载 pdo_dblib

Zend doesn't load pdo_dblib

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

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

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

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

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

关键不在于 Zend,而在于您测试的细微细节:

  • 运行ning print(extension_loaded('pdo_dblib')); 在终端 returns 1
  • 当我运行带有调试器的应用程序时,语句$a = extension_loaded('pdo_dblib');的值是false
终端上的

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

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