Laravel 5.3,CentOS,PHP 7 - 如何连接MSSQL?

时间:2016-12-05 05:55:55

标签: sql-server pdo laravel-5.3 centos7

我有一个项目(laravel5.3, php7, centos7)从MSSQL中提取一些数据(不是我的选择btw)。因此,在XAMPP上,我能够轻松地使用pdo_sqlsrv使其成功运行,但这只适用于Windows。

那么如何让它在CentOS上运行呢?

感谢。

1 个答案:

答案 0 :(得分:5)

经过大量研究后,我自己解决了这个问题。

{1}

我已按照本指南获取sqlsrvpdo_sqlsrv(第2步,终端):

https://www.microsoft.com/en-us/sql-server/developer-get-started/php-rhel

sqlsrv很好,可以在phpinfo中看到,但无法找到pdo_sqlsrv

此外,如果您运行$ php -v,则会收到错误

Unable to load dynamic library '******/pdo_sqlsrv.so': undefined symbol: php_pdo_register_driver in Unknown on line 0"

{2}

这让我们主要讨论如何修复它。结果pdo.sopdo_sqlsrv.so之后加载,因为pdo.so从/etc/php.d/ dir加载,我将pdo_sqlsrv.so放在php.ini中(由microsoft链接推荐)。我在这里阅读了https://github.com/Microsoft/msphpsql/issues/151

所以我将以下几行移到/etc/php.d/pdo.ini

extension=/usr/lib64/php/modules/sqlsrv.so
extension=/usr/lib64/php/modules/pdo_sqlsrv.so

问题解决了