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?}