2015/09/09

CentOS7.1 PHPでSQLServerにアクセス。

この内容は古いので、MSSQLへPHPで接続(PDO接続)を参照されたい


ODBC-develをyumでインストール。

# yum install unixODBC-devel.x86_64

前回のpdftkもそうだったが、freetds-develもサポート外のようで、
ソースからビルドかと思ったが、epelで取ってこれるらしいのでやってみる。

# yum install epel-release

続いて、freetds-develをyumでインストール

# yum install freetds-devel

読み込んだプラグイン:fastestmirror, langpacks
epel/x86_64/metalink                                     | 5.2 kB     00:00
epel                                                     | 4.3 kB     00:00
(1/3): epel/x86_64/group_gz                                | 169 kB   00:00
epel/x86_64/updateinfo         FAILED
http://ftp.kddilabs.jp/Linux/packages/fedora/epel/7/x86_64/repodata/2c17dad24b2f96866b643bc3d4ce432833ca592ecf1af495e2b3a2361cf7ceab-updateinfo.xml.bz2: [Errno 14] HTTP Error 404 - Not Found
他のミラーを試します。
(2/3): epel/x86_64/updateinfo                              | 349 kB   00:00
(3/3): epel/x86_64/primary_db                              | 3.5 MB   00:06


Downloading packages:
警告: /var/cache/yum/x86_64/7/epel/packages/freetds-devel-0.91-12.git0a42888.el7.x86_64.rpm: ヘッダー V3 RSA/SHA256 Signature、鍵 ID 3XXXXXX: NOKEY
freetds-devel-0.91-12.git0a42888.el7.x86_64.rpm の公開鍵がインストールされていません
(1/2): freetds-devel-0.91-12.git0a42888.el7.x86_64.rpm     |  48 kB   00:00
(2/2): freetds-0.91-12.git0a42888.el7.x86_64.rpm           | 1.1 MB   00:00
--------------------------------------------------------------------------------
合計                                               2.4 MB/s | 1.2 MB  00:00
file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 から鍵を取得中です。
Importing GPG key 0xXXXXXXX:
 Userid     : "Fedora EPEL (7) "
 Package    : epel-release-7-5.noarch (@extras)
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
上記の処理を行います。よろしいでしょうか? [y/N]y
 

途中上記の警告が出たが、インストールできた模様。

早速、phpで接続試験をすると、SqlServerにアクセスしていないようだ。
なんでだろう?
info.phpを作って調べると、php-mssql.x86_64 がインストールされていない模様。
# yum install php-mssql.x86_64

# systemctl restart httpd.service
で動いた。

接続の試験用

$server='192.168.XXX.XXX:1433';
$username='USR_XXX';
$password='*****';
$con=mssql_connect($server,$username,$password);

if($con !=FALSE)
{
        echo "Connection to SqlServer successful";
}
else
{
        die("Connection to SqlServer failed");
}

mssql_close($con);

?>

0 件のコメント:

コメントを投稿