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()
运行 在您的应用程序中的输出,而不是终端 ,可能会有所帮助。
我正在尝试通过 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'));
在终端 returns1
- 当我运行带有调试器的应用程序时,语句
$a = extension_loaded('pdo_dblib');
的值是false
PHP 不保证与同一台机器的 Web 服务器上的 PHP 具有相同的配置,甚至是相同的版本。
您需要查看您的主机设置,以了解如何在 PHP 的网络服务器副本中的 php.ini
(或等效项)中启用扩展程序。 phpinfo()
运行 在您的应用程序中的输出,而不是终端 ,可能会有所帮助。