[英]Laravel 5.3, CentOS, PHP 7 - How to connect MSSQL?
I have a project ( laravel5.3, php7, centos7
) pulling some data from MSSQL
(not my choice btw). 我有一个项目( laravel5.3, php7, centos7
)从MSSQL
提取一些数据(不是我的选择)。 So, on XAMPP I was able to get it running successfully with ease using pdo_sqlsrv
, however thats only for windows. 因此,在XAMPP上,我可以使用pdo_sqlsrv
轻松使它成功运行,但这仅适用于Windows。
So how do I get it running on CentOS? 那么如何在CentOS上运行它呢?
Thanks. 谢谢。
Solved it myself after a lot of research. 经过大量研究,我自己解决了这个问题。
{1} {1}
Ive followed this guide to get sqlsrv
and pdo_sqlsrv
(step 2, Terminal): 我已经按照本指南获取sqlsrv
和pdo_sqlsrv
(步骤2,终端):
https://www.microsoft.com/en-us/sql-server/developer-get-started/php-rhel https://www.microsoft.com/zh-cn/sql-server/developer-get-started/php-rhel
sqlsrv
was fine and could be seen in phpinfo, however pdo_sqlsrv
couldnt be found. sqlsrv
很好,可以在phpinfo中看到,但是pdo_sqlsrv
。
Further, if you run $ php -v
you get the error 此外,如果您运行$ php -v
则会收到错误消息
Unable to load dynamic library '******/pdo_sqlsrv.so': undefined symbol: php_pdo_register_driver in Unknown on line 0"
{2} {2}
This let to major chase on how to fix it. 这让我们主要关注如何修复它。 Turns out the pdo.so
was loading after pdo_sqlsrv.so
as pdo.so loads from /etc/php.d/
dir and I placed pdo_sqlsrv.so in the php.ini (as recom by the microsoft link). 原来pdo.so
在从/etc/php.d/
目录加载pdo_sqlsrv.so
之后加载了pdo_sqlsrv.so
,然后将pdo_sqlsrv.so放置在php.ini中(通过Microsoft链接推荐)。 This I found by reading here https://github.com/Microsoft/msphpsql/issues/151 我通过在这里阅读https://github.com/Microsoft/msphpsql/issues/151找到了
So I moved the following lines to /etc/php.d/pdo.ini
: 所以我将以下几行移至/etc/php.d/pdo.ini
:
extension=/usr/lib64/php/modules/sqlsrv.so
extension=/usr/lib64/php/modules/pdo_sqlsrv.so
Problem solved 问题解决了
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.