ます’s Blog - どうでもいい記事100選

どうでもいい記事100選

PHP-Cli Built-in web server RFC(続き)

昨日のですが、実際にプログラムを置いて確認してみました。
起動した位置がドキュメント・ルートになるのかな?後、rootにならなくても起動はできるみたい。

% cd /usr/local/src/php-trunk-201103030130
% echo '<?php echo "Hello World\!\!"; echo date( " Y/m/d H:i:s\\n" );' > hello.php
% sapi/cli/php -S localhost:4649
[Fri Mar  4 16:33:19 2011] 127.0.0.1:38942: /hello.php

異なるターミナルから以下を実行して確認。

% telnet localhost 4649
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
GET /hello.php

HTTP/0.9 200 OK
Connection: closed
X-Powered-By: PHP/5.3.99-dev
Content-type: text/html; charset=UTF-8

Hello World!! 2011/03/04 16:34:19
Connection closed by foreign host.
%

PHP-Cli Built-in web server RFC

moriyoshiさんがトンでもないををやろうとしているようです。すげぇ!

パッチはtrunkを対象にしているようだったのでtrunkで確認。
久々に試して遊んでみようと思ってビルドしてみたら。。。Undefined symbol で遊ぶ事ができませんでした。お前はもう遊ぶな!って事かしら。_| ̄|○

% cd /usr/local/src
% gzip -dc ./gist835698-b07dd229da2ebd9fdc03297a1a1dfd2082853d0b.tar.gz | tar xf -
% gzip -dc ./php-trunk-201103030130.tar.gz | tar xf -
% cd ./php-trunk-201103030130
% patch -p0 < ../gist835698-b07dd229da2ebd9fdc03297a1a1dfd2082853d0b/php-embedded-server-20110220.patch.diff
patching file sapi/cli/config.w32
patching file sapi/cli/php_http_parser.c
patching file sapi/cli/config.m4
patching file sapi/cli/php_cli_server.c
patching file sapi/cli/php_http_parser.h
patching file sapi/cli/php_cli_server.h
patching file sapi/cli/php_cli.c
patching file main/network.c
patching file main/php_main.h
patching file main/php_network.h
% ./configure --without-iconv --disable-all
% make

[Solaris(sparc)]
Undefined                       first referenced
 symbol                             in file
cli_server_sapi_module              sapi/cli/php_cli.o
do_cli_server                       sapi/cli/php_cli.o
ld: fatal: Symbol referencing errors. No output written to sapi/cli/php

[Linux(x86)]
sapi/cli/php_cli.o: In function `main':
/usr/local/src/php-trunk-201103030130/sapi/cli/php_cli.c:1347: undefined reference to `do_cli_server'
/usr/local/src/php-trunk-201103030130/sapi/cli/php_cli.c:1297: undefined reference to `cli_server_sapi_module'
collect2: ld returned 1 exit status

% uname -a
SunOS ***** 5.10 Generic_127111-05 sun4v sparc SUNW,Sun-Fire-T200 Solaris
% gcc -v
Reading specs from /usr/sfw/lib/gcc/sparc-sun-solaris2.10/3.4.3/specs
Configured with: /gates/sfw10/builds/sfw10-gate/usr/src/cmd/gcc/gcc-3.4.3/configure --prefix=/usr/sfw --with-as=/usr/sfw/bin/gas --with-gnu-as --with-ld=/usr/ccs/bin/ld --without-gnu-ld --enable-languages=c,c++ --enable-shared
Thread model: posix
gcc version 3.4.3 (csl-sol210-3_4-branch+sol_rpath)

% uname -a
Linux ***** 2.6.18-6-686 #1 SMP Fri Feb 19 23:40:03 UTC 2010 i686 GNU/Linux
% gcc -v
Reading specs from /usr/lib/gcc/i486-linux-gnu/3.4.6/specs
Configured with: ../src/configure -v --enable-languages=c,c++,f77,pascal --prefix=/usr --libexecdir=/usr/lib --with-gxx-include-dir=/usr/include/c++/3.4 --enable-shared --with-system-zlib --enable-nls --without-included-gettext --program-suffix=-3.4 --enable-__cxa_atexit --enable-clocale=gnu --enable-libstdcxx-debug --with-tune=i686 i486-linux-gnu
Thread model: posix
gcc version 3.4.6 (Debian 3.4.6-5)

gccが化石だから。。。か?後でMac OS Xで確認してみよっと。


で、Mac OS Xで確認しても同じエラーだったのですが「./buildconf --forceしろ!」って神のお告げがあったので、その通りにしたら全ての環境でビルドが通りました!わーい。これで遊べる。
って、よくよく考えてみるとm4ファイルを変更しているのだから「./buildconf --force」は必要だったね。。。_| ̄|○

% cd /usr/local/src
% rm -rf ./php-trunk-201103030130
% gzip -dc ./gist835698-b07dd229da2ebd9fdc03297a1a1dfd2082853d0b.tar.gz | tar xf -
% gzip -dc ./php-trunk-201103030130.tar.gz | tar xf -
% cd ./php-trunk-201103030130
% patch -p0 < ../gist835698-b07dd229da2ebd9fdc03297a1a1dfd2082853d0b/php-embedded-server-20110220.patch.diff
patching file sapi/cli/config.w32
patching file sapi/cli/php_http_parser.c
patching file sapi/cli/config.m4
patching file sapi/cli/php_cli_server.c
patching file sapi/cli/php_http_parser.h
patching file sapi/cli/php_cli_server.h
patching file sapi/cli/php_cli.c
patching file main/network.c
patching file main/php_main.h
patching file main/php_network.h
% ./buildconf --force
% ./configure --without-iconv --with-libxml-dir=/usr --enable-mbstring
% make
% su
# sapi/cli/php -S localhost:4649
Server is listening on localhost:4649... Press CTRL-C to quit.
[Thu Mar  3 11:58:55 2011] 127.0.0.1:59253: /
[Thu Mar  3 11:58:55 2011] 127.0.0.1:59253: / - No such file or directory
[Thu Mar  3 11:58:55 2011] 127.0.0.1:59253: / - Sending error page (404)


% uname -a
SunOS ***** 5.10 Generic_127111-05 sun4v sparc SUNW,Sun-Fire-T200 Solaris
% gcc -v
Reading specs from /usr/sfw/lib/gcc/sparc-sun-solaris2.10/3.4.3/specs
Configured with: /gates/sfw10/builds/sfw10-gate/usr/src/cmd/gcc/gcc-3.4.3/configure --prefix=/usr/sfw --with-as=/usr/sfw/bin/gas --with-gnu-as --with-ld=/usr/ccs/bin/ld --without-gnu-ld --enable-languages=c,c++ --enable-shared
Thread model: posix
gcc version 3.4.3 (csl-sol210-3_4-branch+sol_rpath)

% uname -a
Linux ***** 2.6.18-6-686 #1 SMP Fri Feb 19 23:40:03 UTC 2010 i686 GNU/Linux
% gcc -v
Reading specs from /usr/lib/gcc/i486-linux-gnu/3.4.6/specs
Configured with: ../src/configure -v --enable-languages=c,c++,f77,pascal --prefix=/usr --libexecdir=/usr/lib --with-gxx-include-dir=/usr/include/c++/3.4 --enable-shared --with-system-zlib --enable-nls --without-included-gettext --program-suffix=-3.4 --enable-__cxa_atexit --enable-clocale=gnu --enable-libstdcxx-debug --with-tune=i686 i486-linux-gnu
Thread model: posix
gcc version 3.4.6 (Debian 3.4.6-5)

% uname -a
Darwin ***** 10.6.0 Darwin Kernel Version 10.6.0: Wed Nov 10 18:13:17 PST 2010; root:xnu-1504.9.26~3/RELEASE_I386 i386
% gcc -v
Using built-in specs.
Target: i686-apple-darwin10
Configured with: /var/tmp/gcc/gcc-5664~105/src/configure --disable-checking --enable-werror --prefix=/usr --mandir=/share/man --enable-languages=c,objc,c++,obj-c++ --program-transform-name=/^[cg][^.-]*$/s/$/-4.2/ --with-slibdir=/usr/lib --build=i686-apple-darwin10 --program-prefix=i686-apple-darwin10- --host=x86_64-apple-darwin10 --target=i686-apple-darwin10 --with-gxx-include-dir=/include/c++/4.2.1
Thread model: posix
gcc version 4.2.1 (Apple Inc. build 5664)

異なるターミナルから以下を実行して確認。

% telnet localhost 4649
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
GET /

HTTP/0.9 404 Not Found
Connection: closed
Content-Type: text/html; charset=UTF=8
Content-Length: 1145

<html><head><title>404 Not Found</title><style type="text/css">
body {background-color: #ffffff; color: #000000;}
body, td, th, h1, h2 {font-family: sans-serif;}
pre {margin: 0px; font-family: monospace;}
a:link {color: #000099; text-decoration: none; background-color: #ffffff;}
a:hover {text-decoration: underline;}
table {border-collapse: collapse;}
.center {text-align: center;}
.center table { margin-left: auto; margin-right: auto; text-align: left;}
.center th { text-align: center !important; }
td, th { border: 1px solid #000000; font-size: 75%; vertical-align: baseline;}
h1 {font-size: 150%;}
h2 {font-size: 125%;}
.p {text-align: left;}
.e {background-color: #ccccff; font-weight: bold; color: #000000;}
.h {background-color: #9999cc; font-weight: bold; color: #000000;}
.v {background-color: #cccccc; color: #000000;}
.vr {background-color: #cccccc; text-align: right; color: #000000;}
img {float: right; border: 0px;}
hr {width: 600px; background-color: #cccccc; border: 0px; height: 1px; color: #000000;}
</style>
</head><body><h1 class="h">Not Found</h1><p>The requested resource / was not found on this server.</p></body></html>Connection closed by foreign host.
%

try 〜 catch 構文

久々にマトモな日記。(w
自分のは相当特殊な分類だと思うので参考になるかは分かりませんが、uratchさんのトコで例外処理の話があったので便乗してみます。
こういう事を言うとshimookaさんから怒られそうですが(w、自分もtry 〜 catch 構文は(メインの処理では)使っていません。
PHP5から言語機能として備わった時、本来あるべき姿だと喜んだ半面「ど〜しよ?」と半泣きしたのも事実です。


自分は昔からエラー処理のハンドリングは以下のように行っていました。
これに慣れきってしまっている為、抜け出すのが難しくなってきています。単に怠慢です。_| ̄|○

<?php
/* エラーハンドラ用の関数を定義 */
functon abend( $array )
{
 /* エラーを通知して終了処理 */
 exit;
}

functon warninng( $array )
{
 /* エラーを通知するが処理は継続 */
}

/* エラーハンドラ(即終了)をセット */
dbms_error_handler( "abend" );
xml_error_handler( "abend" );
crypt_error_handler( "abend" );

/* エラーハンドラ(処理は継続)をセット */
http_error_handler( "warning" );
file_error_handler( "warning" );


/* 処理開始 */
$dbms_data       = dbms_get_data( "select data from hoge where huga = 0" );
$http_post_array = http_get_request_data( "POST" );
$http_contents   = http_get_contents( "http://www.example.com/" );
$xml_list        = xml_get_contents( "/tmp/foo.xml", "/list/message" );
$xml_contents    = xml_get_contents( "/tmp/foo.xml", "/list/message[@id='1']" );

if( $http_contents )
  {
   $encrypt_data = crypt_encrypt( $http_contents );
   dbms_execute_query( "insert into huga values( 2 )" );
  }
  else
  {
   $decrypt_data = crypt_decrypt( $dbms_data );
   dbms_execute_query( "insert into huga values( 3 )" );
  }

file_append( "/tmp/bar.txt", "APPEND DATA" );
$file_array = file_get_list( "/tmp/bar.txt" );
file_write( "/tmp/bar.txt", "WRITE DATA" );

?>

上記の関数名はイメージですので、ご注意ください。


はるか昔に関数の挙動が頻繁に変わるのが耐え切れなくなって殆どの処理を自前でライブラリ化したのですが、エラーハンドラの仕組みを追加して、関数名がセットされていれば(エラーが発生した時に)セットした関数へ強制的に遷移するようにしています。今でも素で使ってる関数ってmbstring系くらいじゃないかなぁ。
後、str*系関数は使わずにmb_str*系関数を使う。足りないmb_str*系関数は自作していて、mb_str_rot13関数とか、mb_str_shuffle関数とかも無駄に用意しています。今まで一度も使ったことはありませんが。(w


このエラーハンドラについては裏事情があって(当時は)エラーのハンドリングを適切に行えない輩が多かったので、こんな感じで無理やりエラーのハンドリングをしています。_| ̄|○
ある部分だけ無効にしたい場合はエラーハンドラをクリアして、その部分が終わったら再びエラーハンドラをセットします。
ただ、セットし忘れのリスクがあるので(基本方針としては)このような制御はしないよう注意しています。こういうイレギュラーな制御はバッチ処理に多くて、Webの処理では行いません。
バックトレースも一緒に渡しているので、どこで落ちたかも分かるようになっています。バックトレースは素晴らしい。。。


大きな概念で言えば、これも一種のtry 〜 catchなのかな、と。ちょっと無理やりですが。(w
後、コネクション変数とかのリソース管理もライブラリ内で行っています。接続処理とかも書くの面倒。徹底して堕落してます。_| ̄|○
何かの参考になれば幸いです。

5.3.2 ready?

この辺()を参照されたし。
時間が経てば玉(アーカイブ)もできるでしょう。。。きっと。
5.3.1から5.3.2までの修正状況は以下の通り。
約3ヶ月ぶりのリリースです。それにしてもスゲー修正されてる。(w
じっくり見ないと重要な部分を見逃してしまいそう。。。早く5.3系統が安定して欲しい今日この頃。

--- php/php-src/branches/PHP_5_3/NEWS	2009/11/18 20:08:14	290929
+++ php/php-src/tags/php_5_3_2/NEWS	2010/03/03 16:49:51	295794
@@ -1,43 +1,181 @@
 PHP                                                                        NEWS
 |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-?? ??? 20??, PHP 5.3.2
-- Upgraded bundled sqlite to version 3.6.20. (Ilia)
+04 Mar 2010, PHP 5.3.2
+
+- Upgraded bundled sqlite to version 3.6.22. (Ilia)
+- Upgraded bundled libmagic to version 5.03. (Mikko)
 - Upgraded bundled PCRE to version 8.00. (Scott)
+- Updated timezone database to version 2010.3. (Derick)
+
+- Improved LCG entropy. (Rasmus, Samy Kamkar)
+- Improved crypt support for edge cases (UFC compatibility). (Solar Designer,
+  Joey, Pierre)
 
+- Reverted fix for bug #49521 (PDO fetchObject sets values before calling
+  constructor). (Pierrick, Johannes)
+
+- Changed gmp_strval() to use full range from 2 to 62, and -2 to -36. FR #50283
+  (David Soria Parra)
 - Changed "post_max_size" php.ini directive to allow unlimited post size by
   setting it to 0. (Rasmus)
+- Changed tidyNode class to disallow manual node creation. (Pierrick)
 
-- Added "max_file_uploads" INI directive, which can be set to limit the
-  number of file uploads per-request to 20 by default, to prevent possible
-  DOS via temporary file exhaustion. (Ilia)
+- Removed automatic file descriptor unlocking happening on shutdown and/or 
+  stream close (on all OSes). (Tony, Ilia)
+
+- Added libpng 1.4.0 support. (Pierre)
+- Added support for DISABLE_AUTHENTICATOR for imap_open. (Pierre)
+- Added missing host validation for HTTP urls inside FILTER_VALIDATE_URL.
+  (Ilia)
+- Added stream_resolve_include_path(). (Mikko)
+- Added INTERNALDATE support to imap_append. (nick at mailtrust dot com)
+- Added support for SHA-256 and SHA-512 to php's crypt. (Pierre)
+- Added realpath_cache_size() and realpath_cache_get() functions. (Stas)
+- Added FILTER_FLAG_STRIP_BACKTICK option to the filter extension. (Ilia)
+- Added protection for $_SESSION from interrupt corruption and improved
+  "session.save_path" check. (Stas)
+- Added LIBXML_PARSEHUGE constant to override the maximum text size of a
+  single text node when using libxml2.7.3+. (Kalle)
 - Added ReflectionMethod::setAccessible() for invoking non-public methods
   through the Reflection API. (Sebastian)
 - Added Collator::getSortKey for intl extension. (Stas)
-
-- Implemented FR #49571 (CURLOPT_POSTREDIR not implemented). (Sriram Natarajan)
-- Implemented FR #49253 (added support for libcurl's CERTINFO option).
+- Added support for CURLOPT_POSTREDIR. FR #49571. (Sriram Natarajan)
+- Added support for CURLOPT_CERTINFO. FR #49253.
   (Linus Nielsen Feltzing <linus@haxx.se>)
+- Added client-side server name indication support in openssl. (Arnaud)
 
+- Improved fix for bug #50006 (Segfault caused by uksort()). (Stas)
+
+- Fixed mysqlnd hang when queries exactly 16777214 bytes long are sent. (Andrey)
+- Fixed incorrect decoding of 5-byte BIT sequences in mysqlnd. (Andrey)
+- Fixed error_log() to be binary safe when using message_type 3. (Jani)
 - Fixed unnecessary invocation of setitimer when timeouts have been disabled.
   (Arvind Srinivasan)
 - Fixed memory leak in extension loading when an error occurs on Windows.
   (Pierre)
+- Fixed safe_mode validation inside tempnam() when the directory path does
+  not end with a /). (Martin Jansen)
+- Fixed a possible open_basedir/safe_mode bypass in session extension
+  identified by Grzegorz Stachowiak. (Ilia)
+- Fixed possible crash when a error/warning is raised during php startup.
+  (Pierre)
+- Fixed possible bad behavior of rename on windows when used with symbolic
+  links or invalid paths. (Pierre)
+- Fixed error output to stderr on Windows. (Pierre)
+- Fixed memory leaks in is_writable/readable/etc on Windows. (Pierre)
+- Fixed memory leaks in the ACL function on Windows. (Pierre)
+- Fixed memory leak in the realpath cache on Windows. (Pierre)
+- Fixed memory leak in zip_close. (Pierre)
+- Fixed crypt's blowfish sanity check of the "setting" string, to reject
+  iteration counts encoded as 36 through 39. (Solar Designer, Joey, Pierre)
 
+- Fixed bug #51059 (crypt crashes when invalid salt are given). (Pierre)
+- Fixed bug #50952 (allow underscore _ in constants parsed in php.ini files).
+  (Jani)
+- Fixed bug #50940 (Custom content-length set incorrectly in Apache SAPIs).
+  (Brian France, Rasmus)
+- Fixed bug #50930 (Wrong date by php_date.c patch with ancient gcc/glibc
+  versions). (Derick)
+- Fixed bug #50907 (X-PHP-Originating-Script adding two new lines in *NIX).
+  (Ilia)
+- Fixed bug #50859 (build fails with openssl 1.0 due to md2 deprecation).   
+  (Ilia, hanno at hboeck dot de)
+- Fixed bug #50847 (strip_tags() removes all tags greater then 1023 bytes
+  long). (Ilia)
+- Fixed bug #50829 (php.ini directive pdo_mysql.default_socket is ignored).
+  (Ilia)
+- Fixed bug #50832 (HTTP fopen wrapper does not support passwordless HTTP
+  authentication). (Jani)
+- Fixed bug #50787 (stream_set_write_buffer() has no effect on socket streams).
+  (vnegrier at optilian dot com, Ilia)
+- Fixed bug #50761 (system.multiCall crashes in xmlrpc extension).
+  (hiroaki dot kawai at gmail dot com, Ilia)
+- Fixed bug #50756 (CURLOPT_FTP_SKIP_PASV_IP does not exist). (Sriram)
+- Fixed bug #50732 (exec() adds single byte twice to $output array). (Ilia)
+- Fixed bug #50728 (All PDOExceptions hardcode 'code' property to 0).
+  (Joey, Ilia)
+- Fixed bug #50723 (Bug in garbage collector causes crash). (Dmitry)
+- Fixed bug #50690 (putenv does not set ENV when the value is only one char).
+  (Pierre)
+- Fixed bug #50680 (strtotime() does not support eighth ordinal number). (Ilia)
+- Fixed bug #50661 (DOMDocument::loadXML does not allow UTF-16). (Rob)
+- Fixed bug #50657 (copy() with an empty (zero-byte) HTTP source succeeds but
+  returns false). (Ilia)
+- Fixed bug #50636 (MySQLi_Result sets values before calling constructor).
+  (Pierrick)
+- Fixed bug #50632 (filter_input() does not return default value if the
+  variable does not exist). (Ilia)
+- Fixed bug #50576 (XML_OPTION_SKIP_TAGSTART option has no effect). (Pierrick)
+- Fixed bug #50558 (Broken object model when extending tidy). (Pierrick)
+- Fixed bug #50540 (Crash while running ldap_next_reference test cases).
+  (Sriram)
+- Fixed bug #50519 (segfault in garbage collection when using set_error_handler
+  and DomDocument). (Dmitry)
+- Fixed bug #50508 (compile failure: Conflicting HEADER type declarations).
+  (Jani)
+- Fixed bug #50496 (Use of <stdbool.h> is valid only in a c99 compilation 
+  environment. (Sriram)
+- Fixed bug #50464 (declare encoding doesn't work within an included file).
+  (Felipe)
+- Fixed bug #50458 (PDO::FETCH_FUNC fails with Closures). (Felipe, Pierrick)
+- Fixed bug #50445 (PDO-ODBC stored procedure call from Solaris 64-bit causes
+  seg fault). (davbrown4 at yahoo dot com, Felipe)
+- Fixed bug #50416 (PROCEDURE db.myproc can't return a result set in the given
+  context). (Andrey)
+- Fixed bug #50394 (Reference argument converted to value in __call). (Stas)
+- Fixed bug #50351 (performance regression handling objects, ten times slower
+  in 5.3 than in 5.2). (Dmitry)
+- Fixed bug #50392 (date_create_from_format() enforces 6 digits for 'u'
+  format character). (Ilia)
+- Fixed bug #50345 (nanosleep not detected properly on some solaris versions).
+  (Jani)
+- Fixed bug #50340 (php.ini parser does not allow spaces in ini keys). (Jani)
+- Fixed bug #50334 (crypt ignores sha512 prefix). (Pierre)
+- Fixed bug #50323 (Allow use of ; in values via ;; in PDO DSN).
+  (Ilia, Pierrick)
+- Fixed bug #50285 (xmlrpc does not preserve keys in encoded indexed arrays).
+  (Felipe)
+- Fixed bug #50282 (xmlrpc_encode_request() changes object into array in 
+  calling function). (Felipe)
+- Fixed bug #50267 (get_browser(null) does not use HTTP_USER_AGENT). (Jani)
+- Fixed bug #50266 (conflicting types for llabs). (Jani)
+- Fixed bug #50261 (Crash When Calling Parent Constructor with
+  call_user_func()). (Dmitry)
+- Fixed bug #50255 (isset() and empty() silently casts array to object).
+  (Felipe)
+- Fixed bug #50240 (pdo_mysql.default_socket in php.ini shouldn't used
+  if it is empty). (foutrelis at gmail dot com, Ilia)
+- Fixed bug #50231 (Socket path passed using --with-mysql-sock is ignored when
+  mysqlnd is enabled). (Jani)
+- Fixed bug #50219 (soap call Segmentation fault on a redirected url).
+  (Pierrick)
 - Fixed bug #50212 (crash by ldap_get_option() with LDAP_OPT_NETWORK_TIMEOUT).
   (Ilia, shigeru_kitazaki at cybozu dot co dot jp)
+- Fixed bug #50209 (Compiling with libedit cannot find readline.h).
+  (tcallawa at redhat dot com)
+- Fixed bug #50207 (segmentation fault when concatenating very large strings on
+  64bit linux). (Ilia)
+- Fixed bug #50196 (stream_copy_to_stream() produces warning when source is 
+  not file). (Stas)
+- Fixed bug #50195 (pg_copy_to() fails when table name contains schema. (Ilia)
 - Fixed bug #50185 (ldap_get_entries() return false instead of an empty array
   when there is no error). (Jani)
-- Fixed bug #50140 (With default compilation option, php symbols are
-  unresolved for nsapi). (Uwe Schindler)
 - Fixed bug #50174 (Incorrectly matched docComment). (Felipe)
+- Fixed bug #50168 (FastCGI fails with wrong error on HEAD request to
+  non-existant file). (Dmitry)
+- Fixed bug #50162 (Memory leak when fetching timestamp column from Oracle
+  database). (Felipe)
+- Fixed bug #50159 (wrong working directory in symlinked files). (Dmitry)
 - Fixed bug #50158 (FILTER_VALIDATE_EMAIL fails with valid addresses
   containing = or ?). (Pierrick)
-- Fixed bug #50145 (crash while running bug35634.phpt). (Felipe)
-- Fixed bug #50087 (NSAPI performance improvements). (Uwe Schindler)
 - Fixed bug #50152 (ReflectionClass::hasProperty behaves like isset() not
   property_exists). (Felipe)
 - Fixed bug #50146 (property_exists: Closure object cannot have properties).
   (Felipe)
+- Fixed bug #50145 (crash while running bug35634.phpt). (Felipe)
+- Fixed bug #50140 (With default compilation option, php symbols are unresolved
+  for nsapi). (Uwe Schindler)
+- Fixed bug #50087 (NSAPI performance improvements). (Uwe Schindler)
 - Fixed bug #50073 (parse_url() incorrect when ? in fragment). (Ilia)
 - Fixed bug #50023 (pdo_mysql doesn't use PHP_MYSQL_UNIX_SOCK_ADDR). (Ilia)
 - Fixed bug #50005 (Throwing through Reflection modified Exception object
@@ -50,30 +188,304 @@
 - Fixed bug #49936 (crash with ftp stream in php_stream_context_get_option()).
   (Pierrick)
 - Fixed bug #49921 (Curl post upload functions changed). (Ilia)
-- Fixed bug #49910 (no support for ././@LongLink for long filenames in phar
-  tar support). (Greg)
-- Fixed bug #49908 (throwing exceptions in __autoload crashes when interface
-  is not defined). (Felipe)
+- Fixed bug #49866 (Making reference on string offsets crashes PHP). (Dmitry)
 - Fixed bug #49855 (import_request_variables() always returns NULL). (Ilia,
   sjoerd at php dot net)
+- Fixed bug #49851, #50451 (http wrapper breaks on 1024 char long headers). 
+  (Ilia)
 - Fixed bug #49800 (SimpleXML allow (un)serialize() calls without warning).
   (Ilia, wmeler at wp-sa dot pl)
 - Fixed bug #49719 (ReflectionClass::hasProperty returns true for a private
   property in base class). (Felipe)
+- Fixed bug #49677 (ini parser crashes with apache2 and using ${something}
+  ini variables). (Jani)
+- Fixed bug #49660 (libxml 2.7.3+ limits text nodes to 10MB). (Felipe)
 - Fixed bug #49647 (DOMUserData does not exist). (Rob)
+- Fixed bug #49600 (imageTTFText text shifted right). (Takeshi Abe)
+- Fixed bug #49585 (date_format buffer not long enough for >4 digit years).
+  (Derick, Adam)
+- Fixed bug #49560 (oci8: using LOBs causes slow PHP shutdown). (Oracle Corp.)
 - Fixed bug #49521 (PDO fetchObject sets values before calling constructor).
   (Pierrick)
+- Fixed bug #49472 (Constants defined in Interfaces can be overridden).
+  (Felipe)
+- Fixed bug #49463 (setAttributeNS fails setting default namespace). (Rob)
 - Fixed bug #49244 (Floating point NaN cause garbage characters). (Sjoerd)
 - Fixed bug #49224 (Compile error due to old DNS functions on AIX systems).
   (Scott)
+- Fixed bug #49174 (crash when extending PDOStatement and trying to set
+  queryString property). (Felipe)
+- Fixed bug #48811 (Directives in PATH section do not get applied to
+  subdirectories). (Patch by: ct at swin dot edu dot au)
+- Fixed bug #48590 (SoapClient does not honor max_redirects). (Sriram)
+- Fixed bug #48190 (Content-type parameter "boundary" is not case-insensitive
+  in HTTP uploads). (Ilia)
+- Fixed bug #47848 (importNode doesn't preserve attribute namespaces). (Rob)
+- Fixed bug #47409 (extract() problem with array containing word "this").
+  (Ilia, chrisstocktonaz at gmail dot com)
+- Fixed bug #47281 ($php_errormsg is limited in size of characters)
+  (Oracle Corp.)
+- Fixed bug #46478 (htmlentities() uses obsolete mapping table for character
+  entity references). (Moriyoshi)
+- Fixed bug #45599 (strip_tags() truncates rest of string with invalid
+  attribute). (Ilia, hradtke)
+- Fixed bug #45120 (PDOStatement->execute() returns true then false for same
+  statement). (Pierrick)
+- Fixed bug #44827 (define() allows :: in constant names). (Ilia)
+- Fixed bug #44098 (imap_utf8() returns only capital letters).
+  (steffen at dislabs dot de, Pierre)
+- Fixed bug #34852 (Failure in odbc_exec() using oracle-supplied odbc
+  driver). (tim dot tassonis at trivadis dot com)
+
+19 Nov 2009, PHP 5.3.1
+- Upgraded bundled sqlite to version 3.6.19. (Scott)
+- Updated timezone database to version 2009.17 (2009q). (Derick)
+
+- Changed ini file directives [PATH=](on Win32) and [HOST=](on all) to be case 
+  insensitive. (garretts)
+
+- Restored shebang line check to CGI sapi (not checked by scanner anymore).
+  (Jani)
+
+- Added "max_file_uploads" INI directive, which can be set to limit the
+  number of file uploads per-request to 20 by default, to prevent possible
+  DOS via temporary file exhaustion. (Ilia)
+- Added missing sanity checks around exif processing. (Ilia)
+- Added error constant when json_encode() detects an invalid UTF-8 sequence.
+  (Scott)
+- Added support for ACL on Windows for thread safe SAPI (Apache2 for example)
+  and fix its support on NTS. (Pierre)
+
+- Improved symbolic, mounted volume and junctions support for realpath on 
+  Windows. (Pierre)
+- Improved readlink on Windows, suppress \??\ and use the drive syntax only.
+  (Pierre)
+- Improved dns_get_record() AAAA support on windows. Always available when
+  IPv6 is support is installed, format is now the same than on unix. (Pierre)
+- Improved the DNS functions on OSX to use newer APIs, also use Bind 9 API
+  where available on other platforms. (Scott)
+- Improved shared extension loading on OSX to use the standard Unix dlopen()
+  API. (Scott)
+
+- Fixed crash in com_print_typeinfo when an invalid typelib is given. (Pierre)
+- Fixed a safe_mode bypass in tempnam() identified by Grzegorz Stachowiak.  
+  (Rasmus)
+- Fixed a open_basedir bypass in posix_mkfifo() identified by Grzegorz 
+  Stachowiak.  (Rasmus)
+- Fixed certificate validation inside php_openssl_apply_verification_policy
+  (Ryan Sleevi, Ilia)
+- Fixed crash in SQLiteDatabase::ArrayQuery() and SQLiteDatabase::SingleQuery()
+  when calling using Reflection. (Felipe)
+- Fixed crash when instantiating PDORow and PDOStatement through Reflection.
+  (Felipe)
+- Fixed sanity check for the color index in imagecolortransparent. (Pierre)
+- Fixed scandir/readdir when used mounted points on Windows. (Pierre)
+- Fixed zlib.deflate compress filter to actually accept level parameter. (Jani)
+- Fixed leak on error in popen/exec (and related functions) on Windows.
+  (Pierre)
+- Fixed possible bad caching of symlinked directories in the realpath cache
+  on Windows. (Pierre)
+- Fixed atime and mtime in stat related functions on Windows. (Pierre)
+- Fixed spl_autoload_unregister/spl_autoload_functions wrt. Closures and
+  Functors. (Christian Seiler)
+- Fixed open_basedir circumvention for "mail.log" ini directive.
+  (Maksymilian Arciemowicz, Stas)
+- Fixed signature generation/validation for zip archives in ext/phar. (Greg)
+- Fixed memory leak in stream_is_local(). (Felipe, Tony)
+- Fixed BC break in mime_content_type(), removes the content encoding. (Scott) 
+
+- Fixed PECL bug #16842 (oci_error return false when NO_DATA_FOUND is raised).
+  (Chris Jones)
+
+- Fixed bug #50063 (safe_mode_include_dir fails). (Johannes, christian at
+  elmerot dot se)
+- Fixed bug #50052 (Different Hashes on Windows and Linux on wrong Salt size).
+  (Pierre)
+- Fixed bug #49986 (Missing ICU DLLs on windows package). (Pierre)
+- Fixed bug #49910 (no support for ././@LongLink for long filenames in phar
+  tar support). (Greg)
+- Fixed bug #49908 (throwing exception in __autoload crashes when interface
+  is not defined). (Felipe)
+- Fixed bug #49847 (exec() fails to return data inside 2nd parameter, given
+  output lines >4095 bytes). (Ilia)
+- Fixed bug #49809 (time_sleep_until() is not available on OpenSolaris). (Jani)
+- Fixed bug #49757 (long2ip() can return wrong value in a multi-threaded
+  applications). (Ilia, Florian Anderiasch)
+- Fixed bug #49738 (calling mcrypt after mcrypt_generic_deinit crashes).
+  (Sriram Natarajan)
+- Fixed bug #49732 (crashes when using fileinfo when timestamp conversion
+  fails). (Pierre)
+- Fixed bug #49698 (Unexpected change in strnatcasecmp()). (Rasmus)
+- Fixed bug #49630 (imap_listscan function missing). (Felipe)
+- Fixed bug #49572 (use of C++ style comments causes build failure).
+  (Sriram Natarajan)
+- Fixed bug #49531 (CURLOPT_INFILESIZE sometimes causes warning "CURLPROTO_FILE
+  cannot be set"). (Felipe)
+- Fixed bug #49517 (cURL's CURLOPT_FILE prevents file from being deleted after
+  fclose). (Ilia)
+- Fixed bug #49470 (FILTER_SANITIZE_EMAIL allows disallowed characters).
+  (Ilia)
+- Fixed bug #49447 (php engine need to correctly check for socket API 
+  return status on windows). (Sriram Natarajan)
+- Fixed bug #49391 (ldap.c utilizing deprecated ldap_modify_s). (Ilia)
+- Fixed bug #49372 (segfault in php_curl_option_curl). (Pierre)
+- Fixed bug #49361 (wordwrap() wraps incorrectly on end of line boundaries).
+  (Ilia, code-it at mail dot ru)
+- Fixed bug #49306 (inside pdo_mysql default socket settings are ignored).
+  (Ilia)
+- Fixed bug #49289 (bcmath module doesn't compile with phpize configure).
+  (Jani)
+- Fixed bug #49286 (php://input (php_stream_input_read) is broken). (Jani)
+- Fixed bug #49269 (Ternary operator fails on Iterator object when used inside
+  foreach declaration). (Etienne, Dmitry)
+- Fixed bug #49236 (Missing PHP_SUBST(PDO_MYSQL_SHARED_LIBADD)). (Jani)
+- Fixed bug #49223 (Inconsistency using get_defined_constants). (Garrett)
+- Fixed bug #49193 (gdJpegGetVersionString() inside gd_compact identifies
+  wrong type in declaration). (Ilia)
+- Fixed bug #49183 (dns_get_record does not return NAPTR records). (Pierre)
+- Fixed bug #49144 (Import of schema from different host transmits original
+  authentication details). (Dmitry)
 - Fixed bug #49142 (crash when exception thrown from __tostring()).
   (David Soria Parra)
+- Fixed bug #49132 (posix_times returns false without error).
+  (phpbugs at gunnu dot us)
+- Fixed bug #49125 (Error in dba_exists C code). (jdornan at stanford dot edu)
+- Fixed bug #49122 (undefined reference to mysqlnd_stmt_next_result on compile
+  with --with-mysqli and MySQL 6.0). (Jani)
+- Fixed bug #49108 (2nd scan_dir produces segfault). (Felipe)
 - Fixed bug #49098 (mysqli segfault on error). (Rasmus)
+- Fixed bug #49095 (proc_get_status['exitcode'] fails on win32). (Felipe)
+- Fixed bug #49092 (ReflectionFunction fails to work with functions in fully
+  qualified namespaces). (Kalle, Jani)
+- Fixed bug #49074 (private class static fields can be modified by using
+  reflection). (Jani)
+- Fixed bug #49072 (feof never returns true for damaged file in zip). (Pierre)
+- Fixed bug #49065 ("disable_functions" php.ini option does not work on 
+  Zend extensions). (Stas)
+- Fixed bug #49064 (--enable-session=shared does not work: undefined symbol:
+  php_url_scanner_reset_vars). (Jani)
+- Fixed bug #49056 (parse_ini_file() regression in 5.3.0 when using non-ASCII
+  strings as option keys). (Jani)
+- Fixed bug #49052 (context option headers freed too early when using
+  --with-curlwrappers). (Jani)
+- Fixed bug #49047 (The function touch() fails on directories on Windows).
+  (Pierre)
+- Fixed bug #49032 (SplFileObject::fscanf() variables passed by reference).
+  (Jani)
+- Fixed bug #49027 (mysqli_options() doesn't work when using mysqlnd). (Andrey)
+- Fixed bug #49026 (proc_open() can bypass safe_mode_protected_env_vars
+  restrictions). (Ilia)
+- Fixed bug #49020 (phar misinterprets ustar long filename standard).
+  (Greg)
+- Fixed bug #49018 (phar tar stores long filenames wit prefix/name reversed).
+  (Greg)
+- Fixed bug #49014 (dechunked filter broken when serving more than 8192 bytes
+  in a chunk). (andreas dot streichardt at globalpark dot com, Ilia)
+- Fixed bug #49012 (phar tar signature algorithm reports as Unknown (0) in
+  getSignature() call). (Greg)
+- Fixed bug #49000 (PHP CLI in Interactive mode (php -a) crashes 
+  when including files from function). (Stas)
+- Fixed bug #48994 (zlib.output_compression does not output HTTP headers when
+  set to a string value). (Jani)
+- Fixed bug #48980 (Crash when compiling with pdo_firebird). (Felipe)
+- Fixed bug #48962 (cURL does not upload files with specified filename).
+  (Ilia)
+- Fixed bug #48929 (Double \r\n after HTTP headers when "header" context
+  option is an array). (David Z端lke)
+- Fixed bug #48913 (Too long error code strings in pdo_odbc driver).
+  (naf at altlinux dot ru, Felipe)
+- Fixed bug #48912 (Namespace causes unexpected strict behaviour with
+  extract()). (Dmitry)
+- Fixed bug #48909 (Segmentation fault in mysqli_stmt_execute()). (Andrey)
+- Fixed bug #48899 (is_callable returns true even if method does not exist in
+  parent class). (Felipe)
+- Fixed bug #48893 (Problems compiling with Curl). (Felipe)
+- Fixed bug #48880 (Random Appearing open_basedir problem). (Rasmus, Gwynne)
+- Fixed bug #48872 (string.c: errors: duplicate case values). (Kalle)
+- Fixed bug #48854 (array_merge_recursive modifies arrays after first one).
+  (Felipe)
+- Fixed bug #48805 (IPv6 socket transport is not working). (Ilia)
+- Fixed bug #48802 (printf() returns incorrect outputted length). (Jani)
+- Fixed bug #48791 (open office files always reported as corrupted). (Greg)
+- Fixed bug #48788 (RecursiveDirectoryIterator doesn't descend into symlinked
+  directories). (Ilia)
+- Fixed bug #48783 (make install will fail saying phar file exists). (Greg)
+- Fixed bug #48774 (SIGSEGVs when using curl_copy_handle()).
+  (Sriram Natarajan)
+- Fixed bug #48771 (rename() between volumes fails and reports no error on 
+  Windows). (Pierre)
+- Fixed bug #48768 (parse_ini_*() crash with INI_SCANNER_RAW). (Jani)
+- Fixed bug #48763 (ZipArchive produces corrupt archive). (dani dot church at 
+  gmail dot com, Pierre)
+- Fixed bug #48762 (IPv6 address filter still rejects valid address). (Felipe)
+- Fixed bug #48757 (ReflectionFunction::invoke() parameter issues). (Kalle)
+- Fixed bug #48754 (mysql_close() crash php when no handle specified).
+  (Johannes, Andrey)
+- Fixed bug #48752 (Crash during date parsing with invalid date). (Pierre)
+- Fixed bug #48746 (Unable to browse directories within Junction Points).
+  (Pierre, Kanwaljeet Singla)
+- Fixed bug #48745 (mysqlnd: mysql_num_fields returns wrong column count for
+  mysql_list_fields). (Andrey)
+- Fixed bug #48740 (PHAR install fails when INSTALL_ROOT is not the final
+  install location). (james dot cohen at digitalwindow dot com, Greg)
+- Fixed bug #48733 (CURLOPT_WRITEHEADER|CURLOPT_FILE|CURLOPT_STDERR warns on
+  files that have been opened with r+). (Ilia)
+- Fixed bug #48719 (parse_ini_*(): scanner_mode parameter is not checked for
+  sanity). (Jani)
+- Fixed bug #48718 (FILTER_VALIDATE_EMAIL does not allow numbers in domain  
+  components). (Ilia)
+- Fixed bug #48681 (openssl signature verification for tar archives broken).
+  (Greg)
+- Fixed bug #48660 (parse_ini_*(): dollar sign as last character of value
+  fails). (Jani)
+- Fixed bug #48645 (mb_convert_encoding() doesn't understand hexadecimal
+  html-entities). (Moriyoshi)
+- Fixed bug #48637 ("file" fopen wrapper is overwritten when using
+  --with-curlwrappers). (Jani)
+- Fixed bug #48608 (Invalid libreadline version not detected during configure).
+  (Jani)
+- Fixed bug #48400 (imap crashes when closing stream opened with
+  OP_PROTOTYPE flag). (Jani)
+- Fixed bug #48377 (error message unclear on converting phar with existing
+  file). (Greg)
+- Fixed bug #48247 (Infinite loop and possible crash during startup with
+  errors when errors are logged). (Jani)
+- Fixed bug #48198 error: 'MYSQLND_LLU_SPEC' undeclared. Cause for #48780 and
+  #46952 - both fixed too. (Andrey)
+- Fixed bug #48189 (ibase_execute error in return param). (Kalle)
+- Fixed bug #48182 (ssl handshake fails during asynchronous socket connection).
+  (Sriram Natarajan)
+- Fixed bug #48116 (Fixed build with Openssl 1.0). (Pierre, 
+  Al dot Smith at aeschi dot ch dot eu dot org)
+- Fixed bug #48057 (Only the date fields of the first row are fetched, others
+  are empty). (info at programmiernutte dot net)
+- Fixed bug #47481 (natcasesort() does not sort extended ASCII characters
+  correctly). (Herman Radtke)
+- Fixed bug #47351 (Memory leak in DateTime). (Derick, Tobias John)
+- Fixed bug #47273 (Encoding bug in SoapServer->fault). (Dmitry)
+- Fixed bug #46682 (touch() afield returns different values on windows).
+  (Pierre)
+- Fixed bug #46614 (Extended MySQLi class gives incorrect empty() result).
+  (Andrey)
+- Fixed bug #46020 (with Sun Java System Web Server 7.0 on HPUX, #define HPUX).
+  (Uwe Schindler)
+- Fixed bug #45905 (imagefilledrectangle() clipping error).
+  (markril at hotmail dot com, Pierre)
+- Fixed bug #45554 (Inconsistent behavior of the u format char). (Derick)
+- Fixed bug #45141 (setcookie will output expires years of >4 digits). (Ilia)
+- Fixed bug #44683 (popen crashes when an invalid mode is passed). (Pierre)
+- Fixed bug #43510 (stream_get_meta_data() does not return same mode as used
+  in fopen). (Jani)
+- Fixed bug #42434 (ImageLine w/ antialias = 1px shorter). (wojjie at gmail dot
+  com, Kalle)
+- Fixed bug #40013 (php_uname() does not return nodename on Netware (Guenter
+  Knauf)
+- Fixed bug #38091 (Mail() does not use FQDN when sending SMTP helo). 
+  (Kalle, Rick Yorgason)
+- Fixed bug #28038 (Sent incorrect RCPT TO commands to SMTP server) (Garrett)
+- Fixed bug #27051 (Impersonation with FastCGI does not exec process as 
+  impersonated user). (Pierre)
 
-
-?? ??? 2009, PHP 5.3.1
-# Will be merged in from branches/PHP_5_3_1 once released
-# Pleas add stuff under 5.3.2
 
 30 Jun 2009, PHP 5.3.0
 - Upgraded bundled PCRE to version 7.9. (Nuno)

5.2.13 ready?

この辺()を参照されたし。
時間が経てば玉(アーカイブ)もできるでしょう。。。きっと。
5.2.12から5.2.13までの修正状況は以下の通り。
約2ヶ月ぶりのリリースだけど、思ったより修正されてるね。次があるのか気になるところですが。。。

--- php/php-src/branches/PHP_5_2/NEWS	2009/12/16 12:45:49	292201
+++ php/php-src/tags/php_5_2_13/NEWS	2010/02/24 12:24:10	295465
@@ -1,6 +1,92 @@
 PHP                                                                        NEWS
 |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+25 Feb 2010, PHP 5.2.13
+- Updated timezone database to version 2010.2. (Derick)
+- Upgraded bundled PCRE to version 7.9. (Ilia)
+
+- Removed automatic file descriptor unlocking happening on shutdown and/or 
+  stream close (on all OSes excluding Windows). (Tony, Ilia)
+
+- Changed tidyNode class to disallow manual node creation. (Pierrick)
+
+- Added missing host validation for HTTP urls inside FILTER_VALIDATE_URL.
+  (Ilia)
+
+- Improved LCG entropy. (Rasmus, Samy Kamkar)
+
+- Fixed safe_mode validation inside tempnam() when the directory path does
+  not end with a /). (Martin Jansen)
+- Fixed a possible open_basedir/safe_mode bypass in session extension
+  identified by Grzegorz Stachowiak. (Ilia)
+- Fixed bug in bundled libgd causing spurious horizontal lines drawn by 
+  gdImageFilledPolygon (libgd #100). (Takeshi Abe)
+- Fixed build of mysqli with MySQL 5.5.0-m2. (Andrey)
+
+- Fixed bug #50940 Custom content-length set incorrectly in Apache sapis. 
+  (Brian France, Rasmus)
+- Fixed bug #50930 (Wrong date by php_date.c patch with ancient gcc/glibc
+  versions). (Derick)
+- Fixed bug #50859 (build fails with openssl 1.0 due to md2 deprecation).
+  (Ilia, hanno at hboeck dot de)
+- Fixed bug #50847 (strip_tags() removes all tags greater then 1023 bytes
+  long). (Ilia)
+- Fixed bug #50832 (HTTP fopen wrapper does not support passwordless HTTP
+  authentication). (Jani)
+- Fixed bug #50823 (ReflectionFunction::isDeprecated producing "cannot be called
+  statically" error). (Jani, Felipe)
+- Fixed bug #50791 (Compile failure: Bad logic in defining fopencookie
+  emulation). (Jani)
+- Fixed bug #50787 (stream_set_write_buffer() has no effect on socket
+  streams). (vnegrier at optilian dot com, Ilia)
+- Fixed bug #50772 (mysqli constructor without parameters does not return a
+  working mysqli object). (Andrey)
+- Fixed bug #50761 (system.multiCall crashes in xmlrpc extension). (hiroaki
+  dot kawai at gmail dot com, Ilia)
+- Fixed bug #50732 (exec() adds single byte twice to $output array). (Ilia)
+- Fixed bug #50728 (All PDOExceptions hardcode 'code' property to 0). (Joey,
+  Ilia)
+- Fixed bug #50727 (Accessing mysqli->affected_rows on no connection causes
+  segfault). (Andrey, Johannes)
+- Fixed bug #50680 (strtotime() does not support eighth ordinal number).
+  (Ilia)
+- Fixed bug #50661 (DOMDocument::loadXML does not allow UTF-16). (Rob)
+- Fixed bug #50657 (copy() with an empty (zero-byte) HTTP source succeeds but
+  returns false). (Ilia)
+- Fixed bug #50636 (MySQLi_Result sets values before calling constructor).
+  (Pierrick)
+- Fixed bug #50632 (filter_input() does not return default value if the
+  variable does not exist). (Ilia)
+- Fixed bug #50576 (XML_OPTION_SKIP_TAGSTART option has no effect). (Pierrick)
+- Fixed bug #50575 (PDO_PGSQL LOBs are not compatible with PostgreSQL 8.5).
+  (Matteo)
+- Fixed bug #50558 (Broken object model when extending tidy). (Pierrick)
+- Fixed bug #50540 (Crash while running ldap_next_reference test cases).
+  (Sriram)
+- Fixed bug #50508 (compile failure: Conflicting HEADER type declarations).
+  (Jani)
+- Fixed bug #50394 (Reference argument converted to value in __call). (Stas)
+- Fixed bug #49851 (http wrapper breaks on 1024 char long headers). (Ilia)
+- Fixed bug #49600 (imageTTFText text shifted right). (Takeshi Abe)
+- Fixed bug #49585 (date_format buffer not long enough for >4 digit years).
+  (Derick, Adam)
+- Fixed bug #49463 (setAttributeNS fails setting default namespace). (Rob)
+- Fixed bug #48667 (Implementing Iterator and IteratorAggregate). (Etienne)
+- Fixed bug #48590 (SoapClient does not honor max_redirects). (Sriram)
+- Fixed bug #48190 (Content-type parameter "boundary" is not case-insensitive
+  in HTTP uploads). (Ilia)
+- Fixed bug #47601 (defined() requires class to exist when testing for class
+  constants). (Ilia)
+- Fixed bug #47409 (extract() problem with array containing word "this").
+  (Ilia, chrisstocktonaz at gmail dot com)
+- Fixed bug #47002 (Field truncation when reading from dbase dbs with more
+  then 1024 fields). (Ilia, sjoerd-php at linuxonly dot nl)
+- Fixed bug #45599 (strip_tags() truncates rest of string with invalid
+  attribute). (Ilia, hradtke)  
+- Fixed bug #44827 (define() allows :: in constant names). (Ilia)
+
+
 17 Dec 2009, PHP 5.2.12
+- Updated timezone database to version 2009.19 (2009s). (Derick)
 
 - Added LIBXML_PARSEHUGE constant to overrides the maximum text size of a
   single text node when using libxml2.7.3+. (Kalle)
@@ -10,7 +96,11 @@
   number of file uploads per-request to 20 by default, to prevent possible
   DOS via temporary file exhaustion. (Ilia)
 
+- Changed "post_max_size" php.ini directive to allow unlimited post size by
+  setting it to 0. (Rasmus)
+
 - Improved fix for bug #50006 (Segfault caused by uksort()). (Stas)
+
 - Fixed error_log() to be binary safe when using message_type 3. (Jani)
 - Fixed unnecessary invocation of setitimer when timeouts have been disabled.
   (Arvind Srinivasan)
@@ -25,11 +115,6 @@
 - Fixed crash when instantiating PDORow and PDOStatement through Reflection.
   (Felipe)
 - Fixed memory leak in openssl_pkcs12_export_to_file(). (Felipe)
-
-- Updated timezone database to version 2009.19 (2009s). (Derick)
-
-- Changed "post_max_size" php.ini directive to allow unlimited post size by
-  setting it to 0. (Rasmus)
 
 - Fixed bug #50445 (PDO-ODBC stored procedure call from Solaris 64-bit causes
   segfault). (davbrown4 at yahoo dot com, Felipe)

5.3.2RC3 out!

RC3の登場()。夜明けは近いか?
5.3.2RC1から5.3.2RC2までの修正状況は以下の通り。
修正量が少ないので、このままリリースされそうな予感が。

--- php/php-src/branches/PHP_5_3_2/NEWS	2010/02/12 00:22:26	294944
+++ php/php-src/tags/php_5_3_2RC3/NEWS	2010/02/23 18:54:17	295432
@@ -1,5 +1,12 @@
 PHP                                                                        NEWS
 |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+23 Feb 2010, PHP 5.3.2 RC 3
+- Improved crypt support for edge cases (UFC compatibility). (Solar Designer,
+  Joey, Pierre)
+- Fixed crypt's blowfish sanity check of the "setting" string, to reject
+  iteration counts encoded as 36 through 39. (Pierre)
+- Fixed #51059 (crypt crashes when invalid salt are given). (Pierre)
+
 12 Feb 2010, PHP 5.3.2 RC 2
 - Upgraded bundled sqlite to version 3.6.22. (Ilia)
 - Upgraded bundled libmagic to version 5.03. (Mikko)

Set-up externals for the Zend engine so 4.4 can at least be build from SVN again.

これは一体()?今更PHP_4_4 branchesを触るのは何か意味があるのかな?
コレの準備の為?そんな訳ないか。。。