我有一个项目(laravel5.3, php7, centos7
)从MSSQL
中提取一些数据(不是我的选择btw)。因此,在XAMPP上,我能够轻松地使用pdo_sqlsrv
使其成功运行,但这只适用于Windows。
那么如何让它在CentOS上运行呢?
感谢。
答案 0 :(得分:5)
{1}
我已按照本指南获取sqlsrv
和pdo_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.so
在pdo_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
问题解决了