2016-12-05 137 views
1

我有一個項目(laravel5.3, php7, centos7)從MSSQL(不是我的選擇順便說一句)拉一些數據。所以,在XAMPP上,我能夠使用pdo_sqlsrv輕鬆地成功運行,但是這隻適用於Windows。Laravel 5.3,CentOS,PHP 7 - 如何連接MSSQL?

那麼如何讓它在CentOS上運行呢?

謝謝。

回答

3

經過大量的研究,自己解決了。


{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.so正在加載pdo_sqlsrv.so作爲pdo.so加載從/etc/php.d/目錄,我把pdo_sqlsrv.so放在php.ini(由微軟鏈接推薦)。這是我通過閱讀這裏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 

問題解決

+0

帶我永遠找到這個解決方案。不知道爲什麼,但我必須在/etc/php.ini中保留extension = sqlsrv.so –