2012-08-07 34 views
8

SQLSRV是PHP的唯一驅動程序,能夠將UTF-8字符串存儲爲雙字節列(NVARCHAR而不是VARCHAR),該列目前由Microsoft爲PHP 5.2.X和5.3.X維護和支持。在Linux或其他支持UTF-8的驅動程序上安裝SQLSRV驅動程序?

而且我還得到了鏈接,下載這些驅動程序Linux SQLSRV driver download爲Linux,但我無法配置。

如果有人有知道如何在Linux上配置SQLSRV驅動程序或具有其他的一些替代方式UTF-8格式SQL服務器獲取數據,請分享。

+1

沒有嘗試自己面前,但你是否安裝了此擴展所需的ODBC驅動程序? http://www.microsoft.com/en-us/download/details.aspx?id=28160 – Hawili 2012-08-07 05:01:24

+0

odbc驅動程序的安裝已經完成,我只是不知道如何安裝sqlsrv驅動程序,甚至無法弄清楚是否可以安裝在linux上 – hsuk 2012-08-07 05:20:47

+2

http://docs.php.net/manual/en/sqlsrv.requirements.php表示這是一個僅限windows的擴展。你在哪裏讀過? – VolkerK 2012-08-07 07:14:15

回答

1

我在閱讀本文後搜索了更多,我可能找到了答案。在Debian:

# apt-get install freetds-common freetds-bin unixodbc php5-mssql 

將安裝PHP的一切需求自由TDS,並允許我使用SQLSRV驅動程序連接。

1

其他UTF-8兼容的解決方案的dblib:

  1. 您安裝freetds的,並使用PHP-MSSQL驅動程序PDO。在/etc/freetds.conf

  2. 更改編碼

  3. 更改字符集和日期格式/etc/locales.conf

我做到了早在2010年

1

這裏的來自微軟社區的維基文章

https://github.com/Microsoft/msphpsql/wiki/Install-pdo_sqlsrv-for-PHP-7.0-on-Debian

我認爲最簡單的途徑將是PHP梨路線

# (1) Install PDO driver from pecl 
apt-get install unixodbc-dev php7.0-dev php-pear 
pecl install pdo_sqlsrv-4.0.5 
echo -e "; priority=20\nextension=pdo_sqlsrv.so" > /etc/php/7.0/mods- available/pdo_sqlsrv.ini 
phpenmod -v 7.0 pdo_sqlsrv 
+0

有同樣的災難它適用於PHP 5.6嗎? – 2017-03-27 06:43:04

+0

我還沒有測試過這個,但這對你自己來說沒有什麼壞處:) – 2017-03-28 09:35:06

+0

謝謝,將不得不首先安裝Linux :) – 2017-03-28 09:43:57

相關問題