昨日RC5が出たと思ったら速攻でRC6が出た。
せっかくなのでいつもは使わない拡張も有効にしまくって make test.
ライブラリの多くと PostgreSQL 8.1 は DarwinPorts, MySQL 5.0.15 はサーバを公式のバイナリ (64bit 版)、クライアントは自前でコンパイルしたものを使っている。*1
./configure --prefix=/usr/local/php51-test \ --disable-cgi --enable-cli --with-openssl=/opt/local \ --with-zlib=/opt/local --with-zlib-dir=/opt/local --with-bz2=/opt/local \ --enable-bcmath --enable-calendar --enable-exif \ --with-iconv-dir=/opt/local --with-gettext=/opt/local --with-gmp=/opt/local \ --with-mcrypt=/opt/local --with-mhash=/opt/local --with-tidy=/opt/local \ --with-curl=/opt/local --with-curlwrappers --enable-ftp --enable-sockets \ --enable-dba --with-qdbm=/opt/local --with-db4=/opt/local \ --with-mysqli=/usr/local/mysqli/bin/mysql_config --with-mysql=/usr/local/mysqli \ --with-pgsql=/opt/local/lib/pgsql8/bin/lib/pgsql8/bin/pg_config --enable-sqlite-utf8 \ --with-pdo-mysql=/usr/local/mysqli --with-pdo-pgsql=/opt/local/lib/pgsql8/bin \ --with-gd --with-jpeg-dir=/opt/local --with-png-dir=/opt/local \ --with-freetype-dir=/opt/local --enable-gd-native-ttf \ --enable-mbstring --enable-mbregex \ --with-libxml-dir=/opt/local --with-xsl=/opt/local \ --enable-wddx --enable-soap --with-xmlrpc --with-xmlreader \ --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-shmop \ && make && make test
で、結果は
===================================================================== TEST RESULT SUMMARY --------------------------------------------------------------------- Exts skipped : 30 Exts tested : 47 --------------------------------------------------------------------- Number of tests : 1882 1793 Tests skipped : 89 ( 4.7%) -------- Tests warned : 0 ( 0.0%) ( 0.0%) Tests failed : 7 ( 0.4%) ( 0.4%) Tests passed : 1786 ( 94.9%) ( 99.6%) --------------------------------------------------------------------- Time taken : 398 seconds ===================================================================== ===================================================================== FAILED TEST SUMMARY --------------------------------------------------------------------- Bug #30638 (localeconv returns wrong LC_NUMERIC settings) [tests/lang/bug30638.phpt] Gettext basic test [ext/gettext/tests/gettext_basic.phpt] mysqli autocommit/commit/rollback [ext/mysqli/tests/014.phpt] function test: mysqli_character_set_name [ext/mysqli/tests/028.phpt] mysqli_get_metadata [ext/mysqli/tests/047.phpt] local infile handler [ext/mysqli/tests/061.phpt] Sort with SORT_LOCALE_STRING [ext/standard/tests/array/locale_sort.phpt] =====================================================================
RC5 で出た (switch ($a{0}) crash) は直ってる(?)。ロケール相変わらず。Gettext だめぽ。MySQLi トランザクションのエラーは微妙。
ただ個人的にあまり MySQL を使わないし、使うにしても mysqli より mysql + PEAR::DB か、これからは PDO_MYSQL を選ぶだろうから割とどうでもいい。
いよいよ 5.1.0 のリリースが近づいてきた印象。かなりの難産だったけど(つーかまだ出てねーし)それだけの価値のあるバージョンに仕上がってきていると思う。
5.1.1 では PECL の filter エクステンションがデフォルトで組み込みになるらしいし、sha256/sha256_file 関数を追加するパッチが php.internals に投げられてたりで 5.1 系は何かと便利そう。
そして 4.4.2RC1 も登場。「これで問題ないようなら次の火曜に 4.4.2 出すよ」(意訳)とのこと。
*1:公式バイナリには libmysqlclient.*.dylib が含まれないので