[PHP-dev 1483] Windows版でのpg_version()

ISHIDA Akio iakio @ mono-space.net
2009年 5月 16日 (土) 21:38:45 JST


こんにちは。石田@苫小牧市と申します。

Windows版のPHP5.2.9で、pg_version()の返す値に
"protocol"、"server"が含まれていません。

バージョン
PHP 5.2.9-2 (cli) (built: Apr  9 2009 08:23:19)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies

コード
<?php
$con = pg_connect("");
var_dump(pg_version($con));

結果
array(1) {
  ["client"]=>
  string(5) "8.3.1"
}

ちなみに他の環境だと(PHP 5.2.9、FreeBSD 6.4)
array(3) {
  ["client"]=>
  string(6) "8.2.13"
  ["protocol"]=>
  int(3)
  ["server"]=>
  string(5) "8.3.5"
}
のようになります。

ソースを見たところ、HAVE_PQPROTOCOLVERSIONが
セットされていないように思います。
ext/pgsql/config.win32
で /D HAVE_PQPROTOCOLVERSION
すべきなのではないのでしょうか。
(PHPをWindowsでビルドする方法について詳しくないので
検証はしていません)。

書いていて気がついたのですが、既に報告されているバグの
ようです。
http://bugs.php.net/bug.php?id=48181
ですが、折角調べたので報告させていただきます。

-- 
ISHIDA Akio <iakio @ mono-space.net/ishida @ cycleof5th.com>


PHP-dev メーリングリストの案内