20 Nov 2009
The PHP development team released a new version of the 5.3.x release. Before you upgrade to a 5.3.x release on a production machine, please check if all PHP based apps are supporting 5.3.x as there are some compatibility problems and you might get some strange results. This release focuses on improving the stability of the PHP 5.3.x branch with over 100 bug fixes, some of which are security related. I’ve tested it on a test server with Snow Leopard without any problems.
Security Enhancements and Fixes in PHP 5.3.1:
- 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. (CVE-2009-3292, Ilia)
- Fixed a safe_mode bypass in tempnam() identified by Grzegorz Stachowiak. (CVE-2009-3557, Rasmus)
- Fixed a open_basedir bypass in posix_mkfifo() identified by Grzegorz Stachowiak. (CVE-2009-3558, Rasmus)
- Fixed bug #50063 (safe_mode_include_dir fails). (CVE-2009-3559, Johannes, christian at elmerot dot se)
- Fixed bug #44683 (popen crashes when an invalid mode is passed). (CVE-2009-3294, Pierre)
Key Enhancements in PHP 5.3.1 include:
- Fixed crash in com_print_typeinfo when an invalid typelib is given. (Pierre)
- Fixed crash in SQLiteDatabase::ArrayQuery() and SQLiteDatabase::SingleQuery() when calling using Reflection. (Felipe)
- Fixed crash when instantiating PDORow and PDOStatement through Reflection. (Felipe)
- 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)
- Around 100 other bug fixes
For instructions on how to upgrade PHP please read: Upgrading PHP.



2:27 pm
I kept getting this error when trying to compile this on 10.6.2.
Undefined symbols:
“_libiconv”, referenced from:
__php_iconv_appendl in iconv.o
__php_iconv_appendl in iconv.o
_php_iconv_string in iconv.o
_php_iconv_string in iconv.o
__php_iconv_strlen in iconv.o
__php_iconv_substr in iconv.o
__php_iconv_strpos in iconv.o
__php_iconv_mime_encode in iconv.o
__php_iconv_mime_encode in iconv.o
__php_iconv_mime_encode in iconv.o
__php_iconv_mime_encode in iconv.o
__php_iconv_mime_encode in iconv.o
__php_iconv_mime_encode in iconv.o
_php_iconv_stream_filter_append_bucket in iconv.o
_php_iconv_stream_filter_append_bucket in iconv.o
_php_iconv_stream_filter_append_bucket in iconv.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
make: *** [libs/libphp5.bundle] Error 1
I found the solution here http://bugs.php.net/bug.php?id=49267
I needed to do the following.
1) Add “-lresolv” to MH_BUNDLE_FLAGS, EXTRA_LDFLAGS and
EXTRA_LDFLAGS_PROGRAM in “Makefile”
2) Change “ext/iconv/iconv.c”
186c186< #define iconv libiconv
---
> #define iconv iconv
10:31 am
Thanks! I’ll check this and update the instructions accordingly