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(当然),这会导致应用程序抛出异常。
有谁知道为什么会出现这个问题,以及如何解决它?
答
的关键不在于Zend的,但在测试中的微妙细节:
- 运行在返回
1
- 终端
print(extension_loaded('pdo_dblib'));
当我用调试器中运行应用,值的声明$a = extension_loaded('pdo_dblib');
是false
在终端上的PHP不能保证与相同机器的Web服务器上的PHP具有相同的配置,甚至是相同的版本。
您将需要查看您的主机设置,以了解如何在Web服务器的PHP副本中启用php.ini
(或同等版本)中的扩展。在您的应用程序中运行phpinfo()
的输出,而不是终端,可能会有所帮助。
http://php.net/manual/en/pdo.installation.php你启用了扩展吗?在Linux上,它会是'php_pdo_mssql.so' – bassxzero