pdo_odbc 擴展在 PHP 源碼包裏有,因此php
1. php-7.1.10/ext/pdo_odbcsql
2.phpize數據庫
3. ./configure --with-pdo-odbc=unixODBC --with-php-config=/usr/local/bin/php-configunix
這裏要提早安裝unixODBC 和 unixODBC-dev : apt-get install unixODBC unixODBC-devcode
若是安裝了unixODBC還出現 Cannot find header file(s) for pdo_odbcblog
表示unixODBC的安裝路徑不是默認的 /usr/local pdo
這時候使用 dpkg -L unixODBC-dev 查看安裝目錄:字符串
發現前面錯信息裏出現的 sql.h 的路徑,得知unixODBC 在 /usr 下,因而:get
./configure --with-pdo-odbc=unixODBC,/usr --with-php-config=/usr/local/bin/php-config源碼
就能夠解決這個問題
4.make && make install
5.加入 php.ini
————————————————————————————————————————
關於pdo dsn 字符串格式
因爲一些數據庫的 pdo 驅動是 PHP 官方實現的的 因此 dsn串的格式相對統一
可是使用 pdo_odbc 鏈接數據庫則要使用 該類型數據庫對應的 odbc dsn 串;
這裏分享一個各類數據庫在各類驅動下的 dsn 串查詢網址:
https://www.connectionstrings.com/
還有個小細節就是 dsn 中若是有特殊字符或者空格須要用{}括起來,通常多用在驅動名和密碼
odbc:DRIVER={PostgreSQL Unicode};Server=192.168.1.27;Port=5432;Database=test;Uid=root;Pwd={aar+22ss_m&@an-a:g?}