【php】pdo_odbc_mssql
Linux 上の PHP から、PDO を使って、Micrsoft SQL server に接続する。
以前インストールに使ったソースがあるときは
make distclean
基本はこんな感じで configure オプションを追加する。
--with-unixODBC --with-pdo-odbc=unixODBC,/usr/local
ライブラリがないと configure 通らない。足りなかったら install。
yum install unixODBC unixODBC-devel freetds freetds-devel
※ freetds系は yum でサードリポジトリの追加をしておく必要があります。
configure
./configure --with-apxs2=/usr/local/apache2/bin/apxs --enable-zend-multibyte --enable-mbstring --enable-mbstr-enc-trans --enable-mbregex --with-gd --enable-gd-native-ttf --with-freetype-dir=/usr --with-jpeg-dir=/usr --with-zlib=/usr --with-png-dir=/usr --enable-iconv --enable-bcmath --enable-ftp --with-regex=php --with-mysql=/usr/local/mysql --with-curl --enable-trans-sid --with-mysqli=/usr/local/mysql/bin/mysql_config --with-pdo-mysql=/usr/local/mysql --with-imap=/usr/local/lib/imap-2007a --with-imap-ssl --enable-memory-limit --with-ldap=/usr --enable-soap --with-openssl --with-curl --with-oci8=instantclient,/usr/lib/oracle/10.2.0.3/client/lib/ --with-xsl --with-mssql --with-unixODBC --with-pdo-odbc=unixODBC,/usr/local
unixODBC を yum でインストールしたから場所が違う!!
./configure --with-apxs2=/usr/local/apache2/bin/apxs --enable-zend-multibyte --enable-mbstring --enable-mbstr-enc-trans --enable-mbregex --with-gd --enable-gd-native-ttf --with-freetype-dir=/usr --with-jpeg-dir=/usr --with-zlib=/usr --with-png-dir=/usr --enable-iconv --enable-bcmath --enable-ftp --with-regex=php --with-mysql=/usr/local/mysql --with-curl --enable-trans-sid --with-mysqli=/usr/local/mysql/bin/mysql_config --with-pdo-mysql=/usr/local/mysql --with-imap=/usr/local/lib/imap-2007a --with-imap-ssl --enable-memory-limit --with-ldap=/usr --enable-soap --with-openssl --with-curl --with-oci8=instantclient,/usr/lib/oracle/10.2.0.3/client/lib/ --with-xsl --with-mssql --with-unixODBC=/usr --with-pdo-odbc=unixODBC,/usr
インストール
make
make install
Linux から MS SQL Server するなら dblib を使えとのこと
$ cd php-5.2.3/ext/pdo_dblib
$ phpize
$ ./configure
$ make
$ make install
dblib は php.ini も変更して有効に
extension=pdo_dblib.so
Apache再起動
apachectl stop
apachectl start
freetds設定
vi /etc/freetds.conf
[global]に下記の設定を入れる
tds version = 8.0 client charset = UTF-8
コメント