[php] update to PHP 5.4.0RC6

Remi Collet remi at fedoraproject.org
Fri Jan 20 15:38:00 UTC 2012


commit 28750bd31881879d0a616476597a31e60048def8
Author: remi <fedora at famillecollet.com>
Date:   Fri Jan 20 16:37:26 2012 +0100

    update to PHP 5.4.0RC6

 .gitignore                                       |    1 +
 macros.php                                       |   15 +-
 php-4.3.11-shutdown.patch                        |   38 -
 php-5.0.4-tests-wddx.patch                       |   26 -
 php-5.2.4-norpath.patch                          |   18 -
 php-5.2.7-tests-dashn.patch                      |   11 -
 php-5.3.0-install.patch                          |   12 -
 php-5.3.0-libedit.patch                          |   58 --
 php-5.3.3-macropen.patch                         |   39 -
 php-5.3.7-gnusrc.patch                           |  115 ---
 php-5.3.8-aconf259.patch                         |  195 -----
 php-5.3.8-isa.patch                              |   45 -
 php-5.3.8-mysqlnd.patch                          |   77 --
 php-5.0.4-dlopen.patch => php-5.4.0-dlopen.patch |   12 +-
 php-5.3.0-easter.patch => php-5.4.0-easter.patch |   40 +-
 php-5.3.4-phpize.patch => php-5.4.0-phpize.patch |    8 +-
 php-fpm-www.conf                                 |    3 +-
 php.ini                                          |  935 +++++++++++++---------
 php.spec                                         |  237 ++++--
 sources                                          |    2 +-
 20 files changed, 761 insertions(+), 1126 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 7f79b85..b92c258 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
 php.spec~
 /php-5.3.7.tar.bz2
 /php-5.3.8.tar.bz2
+/php-5.4.0RC6.tar.bz2
diff --git a/macros.php b/macros.php
index 9f5e849..4de8639 100644
--- a/macros.php
+++ b/macros.php
@@ -3,6 +3,17 @@
 # 
 %php_core_api @PHP_APIVER@
 %php_zend_api @PHP_ZENDVER@
-%php_pdo_api @PHP_PDOVER@
+%php_pdo_api  @PHP_PDOVER@
 
-%php_extdir %{_libdir}/php/modules
+%php_extdir    %{_libdir}/php/modules
+%php_ztsextdir %{_libdir}/php-zts/modules
+
+%php_inidir    %{_sysconfdir}/php.d
+%php_ztsinidir %{_sysconfdir}/php-zts.d
+
+%php_incldir    %{_includedir}/php
+%php_ztsincldir %{_includedir}/php-zts/php
+
+%__php         %{_bindir}/php
+%php_bindir    %{_bindir}
+%php_ztsbindir %{_bindir}/php-zts
diff --git a/php-5.0.4-dlopen.patch b/php-5.4.0-dlopen.patch
similarity index 52%
rename from php-5.0.4-dlopen.patch
rename to php-5.4.0-dlopen.patch
index f1809da..c2b0e40 100644
--- a/php-5.0.4-dlopen.patch
+++ b/php-5.4.0-dlopen.patch
@@ -1,17 +1,17 @@
---- php-5.0.4/Zend/zend.h.dlopen
-+++ php-5.0.4/Zend/zend.h
-@@ -102,11 +102,11 @@
+--- php-5.4.0RC5/Zend/zend.h.dlopen	2012-01-18 17:10:33.972013835 +0100
++++ php-5.4.0RC5/Zend/zend.h	2012-01-18 17:12:39.175019492 +0100
+@@ -90,11 +90,11 @@
  # endif
  
  # if defined(RTLD_GROUP) && defined(RTLD_WORLD) && defined(RTLD_PARENT)
 -#  define DL_LOAD(libname)			dlopen(libname, RTLD_LAZY | RTLD_GLOBAL | RTLD_GROUP | RTLD_WORLD | RTLD_PARENT)
-+#  define DL_LOAD(libname)			dlopen(libname, RTLD_NOW | RTLD_GLOBAL | RTLD_GROUP | RTLD_WORLD | RTLD_PARENT)
++#  define DL_LOAD(libname)			dlopen(libname, RTLD_NOW  | RTLD_GLOBAL | RTLD_GROUP | RTLD_WORLD | RTLD_PARENT)
  # elif defined(RTLD_DEEPBIND)
 -#  define DL_LOAD(libname)			dlopen(libname, RTLD_LAZY | RTLD_GLOBAL | RTLD_DEEPBIND)
-+#  define DL_LOAD(libname)			dlopen(libname, RTLD_NOW | RTLD_GLOBAL | RTLD_DEEPBIND)
++#  define DL_LOAD(libname)			dlopen(libname, RTLD_NOW  | RTLD_GLOBAL | RTLD_DEEPBIND)
  # else
 -#  define DL_LOAD(libname)			dlopen(libname, RTLD_LAZY | RTLD_GLOBAL)
-+#  define DL_LOAD(libname)			dlopen(libname, RTLD_NOW | RTLD_GLOBAL)
++#  define DL_LOAD(libname)			dlopen(libname, RTLD_NOW  | RTLD_GLOBAL)
  # endif
  # define DL_UNLOAD					dlclose
  # if defined(DLSYM_NEEDS_UNDERSCORE)
diff --git a/php-5.3.0-easter.patch b/php-5.4.0-easter.patch
similarity index 95%
rename from php-5.3.0-easter.patch
rename to php-5.4.0-easter.patch
index 9a2ca72..6ca8f92 100644
--- a/php-5.3.0-easter.patch
+++ b/php-5.4.0-easter.patch
@@ -1,7 +1,7 @@
-diff -up php-5.3.0/ext/standard/basic_functions.c.easter php-5.3.0/ext/standard/basic_functions.c
---- php-5.3.0/ext/standard/basic_functions.c.easter	2009-06-20 08:07:35.000000000 +0200
-+++ php-5.3.0/ext/standard/basic_functions.c	2009-07-12 13:46:08.000000000 +0200
-@@ -1547,9 +1547,6 @@ ZEND_END_ARG_INFO()
+diff -up php-5.4.0RC5/ext/standard/basic_functions.c.easter php-5.4.0RC5/ext/standard/basic_functions.c
+--- php-5.4.0RC5/ext/standard/basic_functions.c.easter	2012-01-18 17:17:54.016033939 +0100
++++ php-5.4.0RC5/ext/standard/basic_functions.c	2012-01-18 17:18:54.022036314 +0100
+@@ -1554,9 +1554,6 @@ ZEND_END_ARG_INFO()
  ZEND_BEGIN_ARG_INFO(arginfo_php_real_logo_guid, 0)
  ZEND_END_ARG_INFO()
  
@@ -11,7 +11,7 @@ diff -up php-5.3.0/ext/standard/basic_functions.c.easter php-5.3.0/ext/standard/
  ZEND_BEGIN_ARG_INFO(arginfo_zend_logo_guid, 0)
  ZEND_END_ARG_INFO()
  
-@@ -2695,7 +2692,6 @@ const zend_function_entry basic_function
+@@ -2719,7 +2716,6 @@ const zend_function_entry basic_function
  	PHP_FE(phpcredits,														arginfo_phpcredits)
  	PHP_FE(php_logo_guid,													arginfo_php_logo_guid)
  	PHP_FE(php_real_logo_guid,												arginfo_php_real_logo_guid)
@@ -19,10 +19,10 @@ diff -up php-5.3.0/ext/standard/basic_functions.c.easter php-5.3.0/ext/standard/
  	PHP_FE(zend_logo_guid,													arginfo_zend_logo_guid)
  	PHP_FE(php_sapi_name,													arginfo_php_sapi_name)
  	PHP_FE(php_uname,														arginfo_php_uname)
-diff -up php-5.3.0/ext/standard/info.c.easter php-5.3.0/ext/standard/info.c
---- php-5.3.0/ext/standard/info.c.easter	2009-01-17 03:05:13.000000000 +0100
-+++ php-5.3.0/ext/standard/info.c	2009-07-12 13:46:11.000000000 +0200
-@@ -1268,21 +1268,7 @@ PHP_FUNCTION(phpcredits)
+diff -up php-5.4.0RC5/ext/standard/info.c.easter php-5.4.0RC5/ext/standard/info.c
+--- php-5.4.0RC5/ext/standard/info.c.easter	2012-01-18 17:17:44.712033203 +0100
++++ php-5.4.0RC5/ext/standard/info.c	2012-01-18 17:19:58.097039189 +0100
+@@ -1195,21 +1195,7 @@ PHP_FUNCTION(phpcredits)
   */
  PHPAPI char *php_logo_guid(void)
  {
@@ -45,7 +45,7 @@ diff -up php-5.3.0/ext/standard/info.c.easter php-5.3.0/ext/standard/info.c
  
  }
  /* }}} */
-@@ -1313,18 +1299,6 @@ PHP_FUNCTION(php_real_logo_guid)
+@@ -1238,18 +1224,6 @@ PHP_FUNCTION(php_real_logo_guid)
  }
  /* }}} */
  
@@ -64,9 +64,9 @@ diff -up php-5.3.0/ext/standard/info.c.easter php-5.3.0/ext/standard/info.c
  /* {{{ proto string zend_logo_guid(void)
     Return the special ID used to request the Zend logo in phpinfo screens*/
  PHP_FUNCTION(zend_logo_guid)
-diff -up php-5.3.0/ext/standard/info.h.easter php-5.3.0/ext/standard/info.h
---- php-5.3.0/ext/standard/info.h.easter	2008-12-31 12:15:45.000000000 +0100
-+++ php-5.3.0/ext/standard/info.h	2009-07-12 13:45:34.000000000 +0200
+diff -up php-5.4.0RC5/ext/standard/info.h.easter php-5.4.0RC5/ext/standard/info.h
+--- php-5.4.0RC5/ext/standard/info.h.easter	2012-01-18 17:17:37.245032832 +0100
++++ php-5.4.0RC5/ext/standard/info.h	2012-01-18 17:20:17.160040044 +0100
 @@ -51,7 +51,6 @@
  #endif /* HAVE_CREDITS_DEFS */
  
@@ -83,10 +83,10 @@ diff -up php-5.3.0/ext/standard/info.h.easter php-5.3.0/ext/standard/info.h
  PHP_FUNCTION(php_sapi_name);
  PHP_FUNCTION(php_uname);
  PHP_FUNCTION(php_ini_scanned_files);
-diff -up php-5.3.0/main/logos.h.easter php-5.3.0/main/logos.h
---- php-5.3.0/main/logos.h.easter	2008-12-31 12:15:47.000000000 +0100
-+++ php-5.3.0/main/logos.h	2009-07-12 13:46:15.000000000 +0200
-@@ -492,589 +492,3 @@ static const unsigned char php_logo[] = 
+diff -up php-5.4.0RC5/main/logos.h.easter php-5.4.0RC5/main/logos.h
+--- php-5.4.0RC5/main/logos.h.easter	2012-01-18 17:17:27.975032470 +0100
++++ php-5.4.0RC5/main/logos.h	2012-01-18 17:21:27.036043180 +0100
+@@ -492,589 +492,3 @@ static const unsigned char php_logo[] =
  	 21, 116, 187, 251, 221, 240, 142, 119, 188,   3, 
  	  1,   0,  59,   0 };
  
@@ -676,9 +676,9 @@ diff -up php-5.3.0/main/logos.h.easter php-5.3.0/main/logos.h
 -	 54, 240,   3,  66, 148,   6, 228, 178,  11, 192, 
 -	192,   4, 236, 158, 239,   2,  17,  16,   0,  59};
 -
-diff -up php-5.3.0/main/php_logos.c.easter php-5.3.0/main/php_logos.c
---- php-5.3.0/main/php_logos.c.easter	2008-12-31 12:15:47.000000000 +0100
-+++ php-5.3.0/main/php_logos.c	2009-07-12 13:45:50.000000000 +0200
+diff -up php-5.4.0RC5/main/php_logos.c.easter php-5.4.0RC5/main/php_logos.c
+--- php-5.4.0RC5/main/php_logos.c.easter	2012-01-18 17:17:17.895031787 +0100
++++ php-5.4.0RC5/main/php_logos.c	2012-01-18 17:21:46.877044070 +0100
 @@ -56,7 +56,6 @@ int php_init_info_logos(void)
  		return FAILURE;
  
diff --git a/php-5.3.4-phpize.patch b/php-5.4.0-phpize.patch
similarity index 72%
rename from php-5.3.4-phpize.patch
rename to php-5.4.0-phpize.patch
index e0184af..e666e45 100644
--- a/php-5.3.4-phpize.patch
+++ b/php-5.4.0-phpize.patch
@@ -1,6 +1,6 @@
---- scripts/phpize.in.orig	2010-12-01 17:00:27.110013483 +0100
-+++ scripts/phpize.in	2010-12-01 17:02:12.555757906 +0100
-@@ -161,6 +161,15 @@
+--- php-5.4.0RC5/scripts/phpize.in.orig	2012-01-18 17:13:54.018022983 +0100
++++ php-5.4.0RC5/scripts/phpize.in	2012-01-18 17:14:40.614024941 +0100
+@@ -162,6 +162,15 @@
    $PHP_AUTOHEADER || exit 1
  }
  
@@ -16,7 +16,7 @@
  # Main script
  
  case "$1" in 
-@@ -179,12 +188,15 @@
+@@ -180,12 +189,15 @@
  
    # Version
    --version|-v)
diff --git a/php-fpm-www.conf b/php-fpm-www.conf
index 81fca85..22a810e 100644
--- a/php-fpm-www.conf
+++ b/php-fpm-www.conf
@@ -209,5 +209,6 @@ slowlog = /var/log/php-fpm/www-slow.log
 ;php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f www at my.domain.com
 ;php_flag[display_errors] = off
 php_admin_value[error_log] = /var/log/php-fpm/www-error.log
+php_admin_value[session.save_path] = /var/lib/php/session
 php_admin_flag[log_errors] = on
-;php_admin_value[memory_limit] = 32M
+;php_admin_value[memory_limit] = 128M
diff --git a/php.ini b/php.ini
index 929adf2..ce36925 100644
--- a/php.ini
+++ b/php.ini
@@ -17,12 +17,12 @@
 ; 6. The directory from the --with-config-file-path compile time option, or the
 ; Windows directory (C:\windows or C:\winnt)
 ; See the PHP docs for more specific information.
-; http://www.php.net/manual/en/configuration.file.php
+; http://php.net/configuration.file
 
 ; The syntax of the file is extremely simple.  Whitespace and Lines
 ; beginning with a semicolon are silently ignored (as you probably guessed).
 ; Section headers (e.g. [Foo]) are also silently ignored, even though
-; they might mean something in the future. 
+; they might mean something in the future.
 
 ; Directives following the section heading [PATH=/www/mysite] only
 ; apply to PHP files in the /www/mysite directory.  Directives
@@ -31,7 +31,7 @@
 ; special sections cannot be overridden by user-defined INI files or
 ; at runtime. Currently, [PATH=] and [HOST=] sections only work under
 ; CGI/FastCGI.
-; http://www.php.net/manual/en/ini.sections.php
+; http://php.net/ini.sections
 
 ; Directives are specified using the following syntax:
 ; directive = value
@@ -83,9 +83,6 @@
 ; development version only in development environments as errors shown to
 ; application users can inadvertently leak otherwise secure information.
 
-; This 2 files are provided, by RPM, in /usr/share/doc/php-common-*/
-; File used by RPM (the /etc/php.ini) is mainly the php.ini-production
-
 ;;;;;;;;;;;;;;;;;;;
 ; Quick Reference ;
 ;;;;;;;;;;;;;;;;;;;
@@ -94,11 +91,6 @@
 ; Please see the actual settings later in the document for more details as to why
 ; we recommend these changes in PHP's behavior.
 
-; allow_call_time_pass_reference
-;   Default Value: On
-;   Development Value: Off
-;   Production Value: Off
-
 ; display_errors
 ;   Default Value: On
 ;   Development Value: On
@@ -110,25 +102,20 @@
 ;   Production Value: Off
 
 ; error_reporting
-;   Default Value: E_ALL & ~E_NOTICE
-;   Development Value: E_ALL | E_STRICT
-;   Production Value: E_ALL & ~E_DEPRECATED
+;   Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
+;   Development Value: E_ALL
+;   Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT
 
 ; html_errors
 ;   Default Value: On
 ;   Development Value: On
-;   Production value: Off
+;   Production value: On
 
 ; log_errors
 ;   Default Value: Off
 ;   Development Value: On
 ;   Production Value: On
 
-; magic_quotes_gpc
-;   Default Value: On
-;   Development Value: Off
-;   Production Value: Off
-
 ; max_input_time
 ;   Default Value: -1 (Unlimited)
 ;   Development Value: 60 (60 seconds)
@@ -144,11 +131,6 @@
 ;   Development Value: Off
 ;   Production Value: Off
 
-; register_long_arrays
-;   Default Value: On
-;   Development Value: Off
-;   Production Value: Off
-
 ; request_order
 ;   Default Value: None
 ;   Development Value: "GP"
@@ -211,7 +193,7 @@
 ;;;;;;;;;;;;;;;;;;;;
 
 ; Enable the PHP scripting language engine under Apache.
-; http://www.php.net/manual/en/apache.configuration.php#ini.engine
+; http://php.net/engine
 engine = On
 
 ; This directive determines whether or not PHP will recognize code between
@@ -225,21 +207,17 @@ engine = On
 ; Default Value: On
 ; Development Value: Off
 ; Production Value: Off
-; http://www.php.net/manual/en/ini.core.php#ini.short-open-tag
+; http://php.net/short-open-tag
 short_open_tag = Off
 
 ; Allow ASP-style <% %> tags.
-; http://www.php.net/manual/en/ini.core.php#ini.asp-tags
+; http://php.net/asp-tags
 asp_tags = Off
 
 ; The number of significant digits displayed in floating point numbers.
-; http://www.php.net/manual/en/ini.core.php#ini.precision
+; http://php.net/precision
 precision = 14
 
-; Enforce year 2000 compliance (will cause problems with non-compliant browsers)
-; http://www.php.net/manual/en/ini.core.php#ini.y2k-compliance
-y2k_compliance = On
-
 ; Output buffering is a mechanism for controlling how much output data
 ; (excluding headers and cookies) PHP should keep internally before pushing that
 ; data to the client. If your application's output exceeds this setting, PHP
@@ -257,10 +235,11 @@ y2k_compliance = On
 ;   On = Enabled and buffer is unlimited. (Use with caution)
 ;   Off = Disabled
 ;   Integer = Enables the buffer and sets its maximum size in bytes.
+; Note: This directive is hardcoded to Off for the CLI SAPI
 ; Default Value: Off
 ; Development Value: 4096
 ; Production Value: 4096
-; http://www.php.net/manual/en/outcontrol.configuration.php#ini.output-buffering
+; http://php.net/output-buffering
 output_buffering = 4096
 
 ; You can redirect all of the output of your scripts to a function.  For
@@ -275,7 +254,7 @@ output_buffering = 4096
 ;   and you cannot use both "ob_gzhandler" and "zlib.output_compression".
 ; Note: output_handler must be empty if this is set 'On' !!!!
 ;   Instead you must use zlib.output_handler.
-; http://www.php.net/manual/en/outcontrol.configuration.php#ini.output-handler
+; http://php.net/output-handler
 ;output_handler =
 
 ; Transparent output compression using the zlib library
@@ -287,16 +266,16 @@ output_buffering = 4096
 ;   performance, enable output_buffering in addition.
 ; Note: You need to use zlib.output_handler instead of the standard
 ;   output_handler, or otherwise the output will be corrupted.
-; http://www.php.net/manual/en/zlib.configuration.php#ini.zlib.output-compression
+; http://php.net/zlib.output-compression
 zlib.output_compression = Off
 
-; http://www.php.net/manual/en/zlib.configuration.php#ini.zlib.output-compression-level
+; http://php.net/zlib.output-compression-level
 ;zlib.output_compression_level = -1
 
 ; You cannot specify additional output handlers if zlib.output_compression
 ; is activated here. This setting does the same as output_handler but in
 ; a different order.
-; http://www.php.net/manual/en/zlib.configuration.php#ini.zlib.output-handler
+; http://php.net/zlib.output-handler
 ;zlib.output_handler =
 
 ; Implicit flush tells PHP to tell the output layer to flush itself
@@ -304,7 +283,8 @@ zlib.output_compression = Off
 ; PHP function flush() after each and every call to print() or echo() and each
 ; and every HTML block.  Turning this option on has serious performance
 ; implications and is generally recommended for debugging purposes only.
-; http://www.php.net/manual/en/outcontrol.configuration.php#ini.implicit-flush
+; http://php.net/implicit-flush
+; Note: This directive is hardcoded to On for the CLI SAPI
 implicit_flush = Off
 
 ; The unserialize callback function will be called (with the undefined class'
@@ -318,86 +298,33 @@ unserialize_callback_func =
 ; When floats & doubles are serialized store serialize_precision significant
 ; digits after the floating point. The default value ensures that when floats
 ; are decoded with unserialize, the data will remain the same.
-serialize_precision = 100
-
-; This directive allows you to enable and disable warnings which PHP will issue
-; if you pass a value by reference at function call time. Passing values by
-; reference at function call time is a deprecated feature which will be removed
-; from PHP at some point in the near future. The acceptable method for passing a
-; value by reference to a function is by declaring the reference in the functions
-; definition, not at call time. This directive does not disable this feature, it
-; only determines whether PHP will warn you about it or not. These warnings
-; should enabled in development environments only.
-; Default Value: On (Suppress warnings)
-; Development Value: Off (Issue warnings)
-; Production Value: Off (Issue warnings)
-; http://www.php.net/manual/en/ini.core.php#ini.allow-call-time-pass-reference
-allow_call_time_pass_reference = Off
-
-; Safe Mode
-; http://www.php.net/manual/en/ini.sect.safe-mode.php#ini.safe-mode
-safe_mode = Off
-
-; By default, Safe Mode does a UID compare check when
-; opening files. If you want to relax this to a GID compare,
-; then turn on safe_mode_gid.
-; http://www.php.net/manual/en/ini.sect.safe-mode.php#ini.safe-mode-gid
-safe_mode_gid = Off
-
-; When safe_mode is on, UID/GID checks are bypassed when
-; including files from this directory and its subdirectories.
-; (directory must also be in include_path or full path must
-; be used when including)
-; http://www.php.net/manual/en/ini.sect.safe-mode.php#ini.safe-mode-include-dir
-safe_mode_include_dir =
-
-; When safe_mode is on, only executables located in the safe_mode_exec_dir
-; will be allowed to be executed via the exec family of functions.
-; http://www.php.net/manual/en/ini.sect.safe-mode.php#ini.safe-mode-exec-dir
-safe_mode_exec_dir =
-
-; Setting certain environment variables may be a potential security breach.
-; This directive contains a comma-delimited list of prefixes.  In Safe Mode,
-; the user may only alter environment variables whose names begin with the
-; prefixes supplied here.  By default, users will only be able to set
-; environment variables that begin with PHP_ (e.g. PHP_FOO=BAR).
-; Note:  If this directive is empty, PHP will let the user modify ANY
-;   environment variable!
-; http://www.php.net/manual/en/ini.sect.safe-mode.php#ini.safe-mode-allowed-env-vars
-safe_mode_allowed_env_vars = PHP_
-
-; This directive contains a comma-delimited list of environment variables that
-; the end user won't be able to change using putenv().  These variables will be
-; protected even if safe_mode_allowed_env_vars is set to allow to change them.
-; http://www.php.net/manual/en/ini.sect.safe-mode.php#ini.safe-mode-protected-env-vars
-safe_mode_protected_env_vars = LD_LIBRARY_PATH
+serialize_precision = 17
 
 ; open_basedir, if set, limits all file operations to the defined directory
 ; and below.  This directive makes most sense if used in a per-directory
 ; or per-virtualhost web server configuration file. This directive is
 ; *NOT* affected by whether Safe Mode is turned On or Off.
-; http://www.php.net/manual/en/ini.sect.safe-mode.php#ini.open-basedir
+; http://php.net/open-basedir
 ;open_basedir =
 
 ; This directive allows you to disable certain functions for security reasons.
 ; It receives a comma-delimited list of function names. This directive is
 ; *NOT* affected by whether Safe Mode is turned On or Off.
-; http://www.php.net/manual/en/ini.sect.safe-mode.php#ini.disable-functions
+; http://php.net/disable-functions
 disable_functions =
 
 ; This directive allows you to disable certain classes for security reasons.
 ; It receives a comma-delimited list of class names. This directive is
 ; *NOT* affected by whether Safe Mode is turned On or Off.
-; http://www.php.net/manual/en/ini.sect.safe-mode.php#ini.disable-classes
+; http://php.net/disable-classes
 disable_classes =
 
 ; Colors for Syntax Highlighting mode.  Anything that's acceptable in
 ; <span style="color: ???????"> would work.
-; http://www.php.net/manual/en/misc.configuration.php#ini.syntax-highlighting
+; http://php.net/syntax-highlighting
 ;highlight.string  = #DD0000
 ;highlight.comment = #FF9900
 ;highlight.keyword = #007700
-;highlight.bg      = #FFFFFF
 ;highlight.default = #0000BB
 ;highlight.html    = #000000
 
@@ -405,21 +332,37 @@ disable_classes =
 ; the request. Consider enabling it if executing long requests, which may end up
 ; being interrupted by the user or a browser timing out. PHP's default behavior
 ; is to disable this feature.
-; http://www.php.net/manual/en/misc.configuration.php#ini.ignore-user-abort
+; http://php.net/ignore-user-abort
 ;ignore_user_abort = On
 
 ; Determines the size of the realpath cache to be used by PHP. This value should
 ; be increased on systems where PHP opens many files to reflect the quantity of
 ; the file operations performed.
-; http://www.php.net/manual/en/ini.core.php#ini.realpath-cache-size
+; http://php.net/realpath-cache-size
 ;realpath_cache_size = 16k
 
 ; Duration of time, in seconds for which to cache realpath information for a given
 ; file or directory. For systems with rarely changing files, consider increasing this
 ; value.
-; http://www.php.net/manual/en/ini.core.php#ini.realpath-cache-ttl
+; http://php.net/realpath-cache-ttl
 ;realpath_cache_ttl = 120
 
+; Enables or disables the circular reference collector.
+; http://php.net/zend.enable-gc
+zend.enable_gc = On
+
+; If enabled, scripts may be written in encodings that are incompatible with
+; the scanner.  CP936, Big5, CP949 and Shift_JIS are the examples of such
+; encodings.  To use this feature, mbstring extension must be enabled.
+; Default: Off
+;zend.multibyte = Off
+
+; Allows to set the default encoding for the scripts.  This value will be used
+; unless "declare(encoding=...)" directive appears at the top of the script.
+; Only affects if zend.multibyte is set.
+; Default: ""
+;zend.script_encoding =
+
 ;;;;;;;;;;;;;;;;;
 ; Miscellaneous ;
 ;;;;;;;;;;;;;;;;;
@@ -428,7 +371,7 @@ disable_classes =
 ; (e.g. by adding its signature to the Web server header).  It is no security
 ; threat in any way, but it makes it possible to determine whether you use PHP
 ; on your server or not.
-; http://www.php.net/manual/en/ini.core.php#ini.expose-php
+; http://php.net/expose-php
 expose_php = On
 
 ;;;;;;;;;;;;;;;;;;;
@@ -436,24 +379,29 @@ expose_php = On
 ;;;;;;;;;;;;;;;;;;;
 
 ; Maximum execution time of each script, in seconds
-; http://www.php.net/manual/en/info.configuration.php#ini.max-execution-time
-max_execution_time = 30     
+; http://php.net/max-execution-time
+; Note: This directive is hardcoded to 0 for the CLI SAPI
+max_execution_time = 30
 
 ; Maximum amount of time each script may spend parsing request data. It's a good
 ; idea to limit this time on productions servers in order to eliminate unexpectedly
-; long running scripts. 
+; long running scripts.
+; Note: This directive is hardcoded to -1 for the CLI SAPI
 ; Default Value: -1 (Unlimited)
 ; Development Value: 60 (60 seconds)
 ; Production Value: 60 (60 seconds)
-; http://www.php.net/manual/en/info.configuration.php#ini.max-input-time
+; http://php.net/max-input-time
 max_input_time = 60
 
 ; Maximum input variable nesting level
-; http://www.php.net/manual/en/info.configuration.php#ini.max-input-nesting-level
+; http://php.net/max-input-nesting-level
 ;max_input_nesting_level = 64
 
+; How many GET/POST/COOKIE input variables may be accepted
+; max_input_vars = 1000
+
 ; Maximum amount of memory a script may consume (128MB)
-; http://www.php.net/manual/en/ini.core.php#ini.memory-limit
+; http://php.net/memory-limit
 memory_limit = 128M
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -471,7 +419,7 @@ memory_limit = 128M
 ; recommend error reporting setting. Your production server shouldn't be wasting
 ; resources complaining about best practices and coding standards. That's what
 ; development servers and development settings are for.
-; Note: The php.ini-development file has this setting as E_ALL | E_STRICT. This
+; Note: The php.ini-development file has this setting as E_ALL. This
 ; means it pretty much reports everything which is exactly what you want during
 ; development and early testing.
 ;
@@ -502,15 +450,15 @@ memory_limit = 128M
 ; E_USER_DEPRECATED - user-generated deprecation warnings
 ;
 ; Common Values:
-;   E_ALL & ~E_NOTICE  (Show all errors, except for notices and coding standards warnings.)
-;   E_ALL & ~E_NOTICE | E_STRICT  (Show all errors, except for notices)
+;   E_ALL (Show all errors, warnings and notices including coding standards.)
+;   E_ALL & ~E_NOTICE  (Show all errors, except for notices)
+;   E_ALL & ~E_NOTICE & ~E_STRICT  (Show all errors, except for notices and coding standards warnings.)
 ;   E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR  (Show only errors)
-;   E_ALL | E_STRICT  (Show all errors, warnings and notices including coding standards.)
-; Default Value: E_ALL & ~E_NOTICE
-; Development Value: E_ALL | E_STRICT
-; Production Value: E_ALL & ~E_DEPRECATED
-; http://www.php.net/manual/en/errorfunc.configuration.php#ini.error-reporting
-error_reporting = E_ALL & ~E_DEPRECATED
+; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
+; Development Value: E_ALL
+; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT
+; http://php.net/error-reporting
+error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
 
 ; This directive controls whether or not and where PHP will output errors,
 ; notices and warnings too. Error output is very useful during development, but
@@ -520,13 +468,13 @@ error_reporting = E_ALL & ~E_DEPRECATED
 ; It's recommended that errors be logged on production servers rather than
 ; having the errors sent to STDOUT.
 ; Possible Values:
-;   Off = Do not display any errors 
-;   stderr = Display errors to STDERR (affects only CGI/CLI binaries!)   
+;   Off = Do not display any errors
+;   stderr = Display errors to STDERR (affects only CGI/CLI binaries!)
 ;   On or stdout = Display errors to STDOUT
 ; Default Value: On
 ; Development Value: On
 ; Production Value: Off
-; http://www.php.net/manual/en/errorfunc.configuration.php#ini.display-errors
+; http://php.net/display-errors
 display_errors = Off
 
 ; The display of errors which occur during PHP's startup sequence are handled
@@ -537,7 +485,7 @@ display_errors = Off
 ; Default Value: Off
 ; Development Value: On
 ; Production Value: Off
-; http://www.php.net/manual/en/errorfunc.configuration.php#ini.display-startup-errors
+; http://php.net/display-startup-errors
 display_startup_errors = Off
 
 ; Besides displaying errors, PHP can also log errors to locations such as a
@@ -547,29 +495,29 @@ display_startup_errors = Off
 ; Default Value: Off
 ; Development Value: On
 ; Production Value: On
-; http://www.php.net/manual/en/errorfunc.configuration.php#ini.log-errors
+; http://php.net/log-errors
 log_errors = On
 
 ; Set maximum length of log_errors. In error_log information about the source is
 ; added. The default is 1024 and 0 allows to not apply any maximum length at all.
-; http://www.php.net/manual/en/errorfunc.configuration.php#ini.log-errors-max-len
+; http://php.net/log-errors-max-len
 log_errors_max_len = 1024
 
 ; Do not log repeated messages. Repeated errors must occur in same file on same
 ; line unless ignore_repeated_source is set true.
-; http://www.php.net/manual/en/errorfunc.configuration.php#ini.ignore-repeated-errors
+; http://php.net/ignore-repeated-errors
 ignore_repeated_errors = Off
 
 ; Ignore source of message when ignoring repeated messages. When this setting
 ; is On you will not log errors with repeated messages from different files or
 ; source lines.
-; http://www.php.net/manual/en/errorfunc.configuration.php#ini.ignore-repeated-source
+; http://php.net/ignore-repeated-source
 ignore_repeated_source = Off
 
 ; If this parameter is set to Off, then memory leaks will not be shown (on
 ; stdout or in the log). This has only effect in a debug compile, and if
 ; error reporting includes E_WARNING in the allowed list
-; http://www.php.net/manual/en/errorfunc.configuration.php#ini.report-memleaks
+; http://php.net/report-memleaks
 report_memleaks = On
 
 ; This setting is on by default.
@@ -581,127 +529,110 @@ report_memleaks = On
 ; Default Value: Off
 ; Development Value: On
 ; Production Value: Off
-; http://www.php.net/manual/en/errorfunc.configuration.php#ini.track-errors
+; http://php.net/track-errors
 track_errors = Off
 
 ; Turn off normal error reporting and emit XML-RPC error XML
-; http://www.php.net/manual/en/errorfunc.configuration.php#ini.xmlrpc-errors
+; http://php.net/xmlrpc-errors
 ;xmlrpc_errors = 0
 
 ; An XML-RPC faultCode
 ;xmlrpc_error_number = 0
 
-; When PHP displays or logs an error, it has the capability of inserting html
-; links to documentation related to that error. This directive controls whether
-; those HTML links appear in error messages or not. For performance and security
-; reasons, it's recommended you disable this on production servers.
+; When PHP displays or logs an error, it has the capability of formatting the
+; error message as HTML for easier reading. This directive controls whether
+; the error message is formatted as HTML or not.
+; Note: This directive is hardcoded to Off for the CLI SAPI
 ; Default Value: On
 ; Development Value: On
-; Production value: Off
-; http://www.php.net/manual/en/errorfunc.configuration.php#ini.html-errors
-html_errors = Off
-
-; If html_errors is set On PHP produces clickable error messages that direct
-; to a page describing the error or function causing the error in detail.
-; You can download a copy of the PHP manual from http://www.php.net/docs.php
+; Production value: On
+; http://php.net/html-errors
+html_errors = On
+
+; If html_errors is set to On *and* docref_root is not empty, then PHP
+; produces clickable error messages that direct to a page describing the error
+; or function causing the error in detail.
+; You can download a copy of the PHP manual from http://php.net/docs
 ; and change docref_root to the base URL of your local copy including the
 ; leading '/'. You must also specify the file extension being used including
-; the dot. PHP's default behavior is to leave these settings empty.
+; the dot. PHP's default behavior is to leave these settings empty, in which
+; case no links to documentation are generated.
 ; Note: Never use this feature for production boxes.
-; http://www.php.net/manual/en/errorfunc.configuration.php#ini.docref-root
+; http://php.net/docref-root
 ; Examples
 ;docref_root = "/phpmanual/"
 
-; http://www.php.net/manual/en/errorfunc.configuration.php#ini.docref-ext
+; http://php.net/docref-ext
 ;docref_ext = .html
 
 ; String to output before an error message. PHP's default behavior is to leave
 ; this setting blank.
-; http://www.php.net/manual/en/errorfunc.configuration.php#ini.error-prepend-string
+; http://php.net/error-prepend-string
 ; Example:
-;error_prepend_string = "<font color=#ff0000>"
+;error_prepend_string = "<span style='color: #ff0000'>"
 
 ; String to output after an error message. PHP's default behavior is to leave
 ; this setting blank.
-; http://www.php.net/manual/en/errorfunc.configuration.php#ini.error-append-string
+; http://php.net/error-append-string
 ; Example:
-;error_append_string = "</font>"
+;error_append_string = "</span>"
 
 ; Log errors to specified file. PHP's default behavior is to leave this value
 ; empty.
-; http://www.php.net/manual/en/errorfunc.configuration.php#ini.error-log
+; http://php.net/error-log
 ; Example:
 ;error_log = php_errors.log
 ; Log errors to syslog (Event Log on NT, not valid in Windows 95).
 ;error_log = syslog
 
+;windows.show_crt_warning
+; Default value: 0
+; Development value: 0
+; Production value: 0
+
 ;;;;;;;;;;;;;;;;;
 ; Data Handling ;
 ;;;;;;;;;;;;;;;;;
 
-; Note - track_vars is ALWAYS enabled as of PHP 4.0.3
-
 ; The separator used in PHP generated URLs to separate arguments.
 ; PHP's default setting is "&".
-; http://www.php.net/manual/en/ini.core.php#ini.arg-separator.output
+; http://php.net/arg-separator.output
 ; Example:
 ;arg_separator.output = "&amp;"
 
 ; List of separator(s) used by PHP to parse input URLs into variables.
 ; PHP's default setting is "&".
 ; NOTE: Every character in this directive is considered as separator!
-; http://www.php.net/manual/en/ini.core.php#ini.arg-separator.input
+; http://php.net/arg-separator.input
 ; Example:
 ;arg_separator.input = ";&"
 
 ; This directive determines which super global arrays are registered when PHP
-; starts up. If the register_globals directive is enabled, it also determines
-; what order variables are populated into the global space. G,P,C,E & S are
-; abbreviations for the following respective super globals: GET, POST, COOKIE,
-; ENV and SERVER. There is a performance penalty paid for the registration of
-; these arrays and because ENV is not as commonly used as the others, ENV is
-; is not recommended on productions servers. You can still get access to
-; the environment variables through getenv() should you need to.
+; starts up. G,P,C,E & S are abbreviations for the following respective super
+; globals: GET, POST, COOKIE, ENV and SERVER. There is a performance penalty
+; paid for the registration of these arrays and because ENV is not as commonly
+; used as the others, ENV is not recommended on productions servers. You
+; can still get access to the environment variables through getenv() should you
+; need to.
 ; Default Value: "EGPCS"
 ; Development Value: "GPCS"
 ; Production Value: "GPCS";
-; http://www.php.net/manual/en/ini.core.php#ini.variables-order
+; http://php.net/variables-order
 variables_order = "GPCS"
 
 ; This directive determines which super global data (G,P,C,E & S) should
 ; be registered into the super global array REQUEST. If so, it also determines
 ; the order in which that data is registered. The values for this directive are
 ; specified in the same manner as the variables_order directive, EXCEPT one.
-; Leaving this value empty will cause PHP to use the value set in the 
+; Leaving this value empty will cause PHP to use the value set in the
 ; variables_order directive. It does not mean it will leave the super globals
 ; array REQUEST empty.
 ; Default Value: None
 ; Development Value: "GP"
 ; Production Value: "GP"
-; http://www.php.net/manual/en/ini.core.php#ini.request-order
+; http://php.net/request-order
 request_order = "GP"
 
-; Whether or not to register the EGPCS variables as global variables.  You may
-; want to turn this off if you don't want to clutter your scripts' global scope
-; with user data.  This makes most sense when coupled with track_vars - in which
-; case you can access all of the GPC variables through the $HTTP_*_VARS[],
-; variables.
-; You should do your best to write your scripts so that they do not require
-; register_globals to be on;  Using form variables as globals can easily lead
-; to possible security problems, if the code is not very well thought of.
-; http://www.php.net/manual/en/ini.core.php#ini.register-globals
-register_globals = Off
-
-; Determines whether the deprecated long $HTTP_*_VARS type predefined variables
-; are registered by PHP or not. As they are deprecated, we obviously don't
-; recommend you use them. They are on by default for compatibility reasons but
-; they are not recommended on production servers.
-; Default Value: On
-; Development Value: Off
-; Production Value: Off
-; http://www.php.net/manual/en/ini.core.php#ini.register-long-arrays
-register_long_arrays = Off
-
 ; This directive determines whether PHP registers $argv & $argc each time it
 ; runs. $argv contains an array of all the arguments passed to PHP when a script
 ; is invoked. $argc contains an integer representing the number of arguments
@@ -710,71 +641,60 @@ register_long_arrays = Off
 ; enabled, registering these variables consumes CPU cycles and memory each time
 ; a script is executed. For performance reasons, this feature should be disabled
 ; on production servers.
+; Note: This directive is hardcoded to On for the CLI SAPI
 ; Default Value: On
 ; Development Value: Off
 ; Production Value: Off
-; http://www.php.net/manual/en/ini.core.php#ini.register-argc-argv
+; http://php.net/register-argc-argv
 register_argc_argv = Off
 
-; When enabled, the SERVER and ENV variables are created when they're first
-; used (Just In Time) instead of when the script starts. If these variables
-; are not used within a script, having this directive on will result in a
-; performance gain. The PHP directives register_globals, register_long_arrays,
-; and register_argc_argv must be disabled for this directive to have any affect.
-; http://www.php.net/manual/en/ini.core.php#ini.auto-globals-jit
+; When enabled, the ENV, REQUEST and SERVER variables are created when they're
+; first used (Just In Time) instead of when the script starts. If these
+; variables are not used within a script, having this directive on will result
+; in a performance gain. The PHP directive register_argc_argv must be disabled
+; for this directive to have any affect.
+; http://php.net/auto-globals-jit
 auto_globals_jit = On
 
+; Whether PHP will read the POST data.
+; This option is enabled by default.
+; Most likely, you won't want to disable this option globally. It causes $_POST
+; and $_FILES to always be empty; the only way you will be able to read the
+; POST data will be through the php://input stream wrapper. This can be useful
+; to proxy requests or to process the POST data in a memory efficient fashion.
+; http://php.net/enable-post-data-reading
+;enable_post_data_reading = Off
+
 ; Maximum size of POST data that PHP will accept.
-; http://www.php.net/manual/en/ini.core.php#ini.post-max-size
+; Its value may be 0 to disable the limit. It is ignored if POST data reading
+; is disabled through enable_post_data_reading.
+; http://php.net/post-max-size
 post_max_size = 8M
 
-; Magic quotes are a preprocessing feature of PHP where PHP will attempt to
-; escape any character sequences in GET, POST, COOKIE and ENV data which might
-; otherwise corrupt data being placed in resources such as databases before
-; making that data available to you. Because of character encoding issues and
-; non-standard SQL implementations across many databases, it's not currently
-; possible for this feature to be 100% accurate. PHP's default behavior is to
-; enable the feature. We strongly recommend you use the escaping mechanisms
-; designed specifically for the database your using instead of relying on this
-; feature. Also note, this feature has been deprecated as of PHP 5.3.0 and is
-; scheduled for removal in PHP 6.
-; Default Value: On
-; Development Value: Off
-; Production Value: Off
-; http://www.php.net/manual/en/info.configuration.php#ini.magic-quotes-gpc
-magic_quotes_gpc = Off
-
-; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.
-; http://www.php.net/manual/en/info.configuration.php#ini.magic-quotes-runtime
-magic_quotes_runtime = Off
-
-; Use Sybase-style magic quotes (escape ' with '' instead of \').
-; http://www.php.net/manual/en/sybase.configuration.php#ini.magic-quotes-sybase
-magic_quotes_sybase = Off
-
 ; Automatically add files before PHP document.
-; http://www.php.net/manual/en/ini.core.php#ini.auto-prepend-file
+; http://php.net/auto-prepend-file
 auto_prepend_file =
 
 ; Automatically add files after PHP document.
-; http://www.php.net/manual/en/ini.core.php#ini.auto-append-file
+; http://php.net/auto-append-file
 auto_append_file =
 
-; As of 4.0b4, PHP always outputs a character encoding by default in
+; By default, PHP will output a character encoding using
 ; the Content-type: header.  To disable sending of the charset, simply
 ; set it to be empty.
 ;
 ; PHP's built-in default is text/html
-; http://www.php.net/manual/en/ini.core.php#ini.default-mimetype
+; http://php.net/default-mimetype
 default_mimetype = "text/html"
 
 ; PHP's default character set is set to empty.
-; http://www.php.net/manual/en/ini.core.php#ini.default-charset
-;default_charset = "iso-8859-1"
+; http://php.net/default-charset
+;default_charset = "UTF-8"
 
 ; Always populate the $HTTP_RAW_POST_DATA variable. PHP's default behavior is
-; to disable this feature.
-; http://www.php.net/manual/en/ini.core.php#ini.always-populate-raw-post-data
+; to disable this feature. If post reading is disabled through
+; enable_post_data_reading, $HTTP_RAW_POST_DATA is *NOT* populated.
+; http://php.net/always-populate-raw-post-data
 ;always_populate_raw_post_data = On
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -788,36 +708,38 @@ default_mimetype = "text/html"
 ;include_path = ".;c:\php\includes"
 ;
 ; PHP's default setting for include_path is ".;/path/to/php/pear"
-; http://www.php.net/manual/en/ini.core.php#ini.include-path
+; http://php.net/include-path
 
 ; The root of the PHP pages, used only if nonempty.
 ; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root
 ; if you are running php as a CGI under any web server (other than IIS)
 ; see documentation for security issues.  The alternate is to use the
 ; cgi.force_redirect configuration below
-; http://www.php.net/manual/en/ini.core.php#ini.doc-root
+; http://php.net/doc-root
 doc_root =
 
 ; The directory under which PHP opens the script using /~username used only
 ; if nonempty.
-; http://www.php.net/manual/en/ini.core.php#ini.user-dir
+; http://php.net/user-dir
 user_dir =
 
 ; Directory in which the loadable extensions (modules) reside.
-; http://www.php.net/manual/en/ini.core.php#ini.extension-dir
+; http://php.net/extension-dir
 ; extension_dir = "./"
+; On windows:
+; extension_dir = "ext"
 
 ; Whether or not to enable the dl() function.  The dl() function does NOT work
 ; properly in multithreaded servers, such as IIS or Zeus, and is automatically
 ; disabled on them.
-; http://www.php.net/manual/en/info.configuration.php#ini.enable-dl
+; http://php.net/enable-dl
 enable_dl = Off
 
 ; cgi.force_redirect is necessary to provide security running PHP as a CGI under
 ; most web servers.  Left undefined, PHP turns this on by default.  You can
 ; turn it off here AT YOUR OWN RISK
 ; **You CAN safely turn this off for IIS, in fact, you MUST.**
-; http://www.php.net/manual/en/ini.core.php#ini.cgi.force-redirect
+; http://php.net/cgi.force-redirect
 ;cgi.force_redirect = 1
 
 ; if cgi.nph is enabled it will force cgi to always sent Status: 200 with
@@ -828,7 +750,7 @@ enable_dl = Off
 ; (iPlanet) web servers, you MAY need to set an environment variable name that PHP
 ; will look for to know it is OK to continue execution.  Setting this variable MAY
 ; cause security issues, KNOW WHAT YOU ARE DOING FIRST.
-; http://www.php.net/manual/en/ini.core.php#ini.cgi.redirect-status-env
+; http://php.net/cgi.redirect-status-env
 ;cgi.redirect_status_env = ;
 
 ; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI.  PHP's
@@ -837,7 +759,7 @@ enable_dl = Off
 ; this to 1 will cause PHP CGI to fix its paths to conform to the spec.  A setting
 ; of zero causes PHP to behave as before.  Default is 1.  You should fix your scripts
 ; to use SCRIPT_FILENAME rather than PATH_TRANSLATED.
-; http://www.php.net/manual/en/ini.core.php#ini.cgi.fix-pathinfo
+; http://php.net/cgi.fix-pathinfo
 ;cgi.fix_pathinfo=1
 
 ; FastCGI under IIS (on WINNT based OS) supports the ability to impersonate
@@ -845,7 +767,7 @@ enable_dl = Off
 ; security context that the request runs under.  mod_fastcgi under Apache
 ; does not currently support this feature (03/17/2002)
 ; Set to 1 if running under IIS.  Default is zero.
-; http://www.php.net/manual/en/ini.core.php#ini.fastcgi.impersonate
+; http://php.net/fastcgi.impersonate
 ;fastcgi.impersonate = 1;
 
 ; Disable logging through FastCGI connection. PHP's default behavior is to enable
@@ -857,7 +779,7 @@ enable_dl = Off
 ; is supported by Apache. When this option is set to 1 PHP will send
 ; RFC2616 compliant header.
 ; Default is zero.
-; http://www.php.net/manual/en/ini.core.php#ini.cgi.rfc2616-headers
+; http://php.net/cgi.rfc2616-headers
 ;cgi.rfc2616_headers = 0
 
 ;;;;;;;;;;;;;;;;
@@ -865,41 +787,44 @@ enable_dl = Off
 ;;;;;;;;;;;;;;;;
 
 ; Whether to allow HTTP file uploads.
-; http://www.php.net/manual/en/ini.core.php#ini.file-uploads
+; http://php.net/file-uploads
 file_uploads = On
 
 ; Temporary directory for HTTP uploaded files (will use system default if not
 ; specified).
-; http://www.php.net/manual/en/ini.core.php#ini.upload-tmp-dir
+; http://php.net/upload-tmp-dir
 ;upload_tmp_dir =
 
 ; Maximum allowed size for uploaded files.
-; http://www.php.net/manual/en/ini.core.php#ini.upload-max-filesize
+; http://php.net/upload-max-filesize
 upload_max_filesize = 2M
 
+; Maximum number of files that can be uploaded via a single request
+max_file_uploads = 20
+
 ;;;;;;;;;;;;;;;;;;
 ; Fopen wrappers ;
 ;;;;;;;;;;;;;;;;;;
 
 ; Whether to allow the treatment of URLs (like http:// or ftp://) as files.
-; http://www.php.net/manual/en/filesystem.configuration.php#ini.allow-url-fopen
+; http://php.net/allow-url-fopen
 allow_url_fopen = On
 
 ; Whether to allow include/require to open URLs (like http:// or ftp://) as files.
-; http://www.php.net/manual/en/filesystem.configuration.php#ini.allow-url-include
+; http://php.net/allow-url-include
 allow_url_include = Off
 
 ; Define the anonymous ftp password (your email address). PHP's default setting
 ; for this is empty.
-; http://www.php.net/manual/en/filesystem.configuration.php#ini.from
+; http://php.net/from
 ;from="john at doe.com"
 
 ; Define the User-Agent string. PHP's default setting for this is empty.
-; http://www.php.net/manual/en/filesystem.configuration.php#ini.user-agent
+; http://php.net/user-agent
 ;user_agent="PHP"
 
 ; Default timeout for socket based streams (seconds)
-; http://www.php.net/manual/en/filesystem.configuration.php#ini.default-socket-timeout
+; http://php.net/default-socket-timeout
 default_socket_timeout = 60
 
 ; If your scripts have to deal with files from Macintosh systems,
@@ -907,7 +832,7 @@ default_socket_timeout = 60
 ; unix or win32 systems, setting this flag will cause PHP to
 ; automatically detect the EOL character in those files so that
 ; fgets() and file() will work regardless of the source of the file.
-; http://www.php.net/manual/en/filesystem.configuration.php#ini.auto-detect-line-endings
+; http://php.net/auto-detect-line-endings
 ;auto_detect_line_endings = Off
 
 ;;;;;;;;;;;;;;;;;;;;;;
@@ -919,7 +844,11 @@ default_socket_timeout = 60
 ;
 ;   extension=modulename.extension
 ;
-; For example
+; For example, on Windows:
+;
+;   extension=msql.dll
+;
+; ... or under UNIX:
 ;
 ;   extension=msql.so
 ;
@@ -935,33 +864,36 @@ default_socket_timeout = 60
 ; found in the directory /etc/php.d; these are loaded by default.
 ;;;;
 
-
 ;;;;;;;;;;;;;;;;;;;
 ; Module Settings ;
 ;;;;;;;;;;;;;;;;;;;
 
+[CLI Server]
+; Whether the CLI web server uses ANSI color coding in its terminal output.
+cli_server.color = On
+
 [Date]
 ; Defines the default timezone used by the date functions
-; http://www.php.net/manual/en/datetime.configuration.php#ini.date.timezone
+; http://php.net/date.timezone
 ;date.timezone =
 
-; http://www.php.net/manual/en/datetime.configuration.php#ini.date.default-latitude
+; http://php.net/date.default-latitude
 ;date.default_latitude = 31.7667
 
-; http://www.php.net/manual/en/datetime.configuration.php#ini.date.default-longitude
+; http://php.net/date.default-longitude
 ;date.default_longitude = 35.2333
 
-; http://www.php.net/manual/en/datetime.configuration.php#ini.date.sunrise-zenith
+; http://php.net/date.sunrise-zenith
 ;date.sunrise_zenith = 90.583333
 
-; http://www.php.net/manual/en/datetime.configuration.php#ini.date.sunset-zenith
+; http://php.net/date.sunset-zenith
 ;date.sunset_zenith = 90.583333
 
 [filter]
-; http://www.php.net/manual/en/filter.configuration.php#ini.filter.default
+; http://php.net/filter.default
 ;filter.default = unsafe_raw
 
-; http://www.php.net/manual/en/filter.configuration.php#ini.filter.default-flags
+; http://php.net/filter.default-flags
 ;filter.default_flags =
 
 [iconv]
@@ -970,10 +902,14 @@ default_socket_timeout = 60
 ;iconv.output_encoding = ISO-8859-1
 
 [intl]
-;intl.default_locale = 
+;intl.default_locale =
+; This directive allows you to produce PHP errors when some error
+; happens within intl functions. The value is the level of the error produced.
+; Default is 0, which does not produce any errors.
+;intl.error_level = E_WARNING
 
 [sqlite]
-; http://www.php.net/manual/en/sqlite.configuration.php#ini.sqlite.assoc-case
+; http://php.net/sqlite.assoc-case
 ;sqlite.assoc_case = 0
 
 [sqlite3]
@@ -981,50 +917,55 @@ default_socket_timeout = 60
 
 [Pcre]
 ;PCRE library backtracking limit.
-; http://www.php.net/manual/en/pcre.configuration.php#ini.pcre.backtrack-limit
+; http://php.net/pcre.backtrack-limit
 ;pcre.backtrack_limit=100000
 
-;PCRE library recursion limit. 
-;Please note that if you set this value to a high number you may consume all 
-;the available process stack and eventually crash PHP (due to reaching the 
+;PCRE library recursion limit.
+;Please note that if you set this value to a high number you may consume all
+;the available process stack and eventually crash PHP (due to reaching the
 ;stack size limit imposed by the Operating System).
-; http://www.php.net/manual/en/pcre.configuration.php#ini.pcre.recursion-limit
+; http://php.net/pcre.recursion-limit
 ;pcre.recursion_limit=100000
 
 [Pdo]
 ; Whether to pool ODBC connections. Can be one of "strict", "relaxed" or "off"
-; http://www.php.net/manual/en/ref.pdo-odbc.php#ini.pdo-odbc.connection-pooling
+; http://php.net/pdo-odbc.connection-pooling
 ;pdo_odbc.connection_pooling=strict
 
+;pdo_odbc.db2_instance_name
+
+[Pdo_mysql]
+; If mysqlnd is used: Number of cache slots for the internal result set cache
+; http://php.net/pdo_mysql.cache_size
+pdo_mysql.cache_size = 2000
+
+; Default socket name for local MySQL connects.  If empty, uses the built-in
+; MySQL defaults.
+; http://php.net/pdo_mysql.default-socket
+pdo_mysql.default_socket=
+
 [Phar]
-; http://www.php.net/manual/en/phar.configuration.php#ini.phar.readonly
+; http://php.net/phar.readonly
 ;phar.readonly = On
 
-; http://www.php.net/manual/en/phar.configuration.php#ini.phar.require-hash
+; http://php.net/phar.require-hash
 ;phar.require_hash = On
 
 ;phar.cache_list =
 
-[Syslog]
-; Whether or not to define the various syslog variables (e.g. $LOG_PID,
-; $LOG_CRON, etc.).  Turning it off is a good idea performance-wise.  In
-; runtime, you can define these variables by calling define_syslog_variables().
-; http://www.php.net/manual/en/network.configuration.php#ini.define-syslog-variables
-define_syslog_variables  = Off
-
 [mail function]
 ; For Win32 only.
-; http://www.php.net/manual/en/mail.configuration.php#ini.smtp
+; http://php.net/smtp
 SMTP = localhost
-; http://www.php.net/manual/en/mail.configuration.php#ini.smtp-port
+; http://php.net/smtp-port
 smtp_port = 25
 
 ; For Win32 only.
-; http://www.php.net/manual/en/mail.configuration.php#ini.sendmail-from
+; http://php.net/sendmail-from
 ;sendmail_from = me at example.com
 
 ; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
-; http://www.php.net/manual/en/mail.configuration.php#ini.sendmail-path
+; http://php.net/sendmail-path
 sendmail_path = /usr/sbin/sendmail -t -i
 
 ; Force the addition of the specified parameters to be passed as extra parameters
@@ -1032,86 +973,130 @@ sendmail_path = /usr/sbin/sendmail -t -i
 ; the 5th parameter to mail(), even in safe mode.
 ;mail.force_extra_parameters =
 
-; Add X-PHP-Originaiting-Script: that will include uid of the script followed by the filename
+; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename
 mail.add_x_header = On
 
-; Log all mail() calls including the full path of the script, line #, to address and headers
+; The path to a log file that will log all mail() calls. Log entries include
+; the full path of the script, line number, To address and headers.
 ;mail.log =
 
 [SQL]
-; http://www.php.net/manual/en/ini.core.php#ini.sql.safe-mode
+; http://php.net/sql.safe-mode
 sql.safe_mode = Off
 
 [ODBC]
-; http://www.php.net/manual/en/odbc.configuration.php#ini.uodbc.default-db
+; http://php.net/odbc.default-db
 ;odbc.default_db    =  Not yet implemented
 
-; http://www.php.net/manual/en/odbc.configuration.php#ini.uodbc.default-user
+; http://php.net/odbc.default-user
 ;odbc.default_user  =  Not yet implemented
 
-; http://www.php.net/manual/en/odbc.configuration.php#ini.uodbc.default-pw
+; http://php.net/odbc.default-pw
 ;odbc.default_pw    =  Not yet implemented
 
+; Controls the ODBC cursor model.
+; Default: SQL_CURSOR_STATIC (default).
+;odbc.default_cursortype
+
 ; Allow or prevent persistent links.
-; http://www.php.net/manual/en/odbc.configuration.php#ini.uodbc.allow-persistent
+; http://php.net/odbc.allow-persistent
 odbc.allow_persistent = On
 
 ; Check that a connection is still valid before reuse.
-; http://www.php.net/manual/en/odbc.configuration.php#ini.uodbc.check-persistent
+; http://php.net/odbc.check-persistent
 odbc.check_persistent = On
 
 ; Maximum number of persistent links.  -1 means no limit.
-; http://www.php.net/manual/en/odbc.configuration.php#ini.uodbc.max-persistent
+; http://php.net/odbc.max-persistent
 odbc.max_persistent = -1
 
 ; Maximum number of links (persistent + non-persistent).  -1 means no limit.
-; http://www.php.net/manual/en/odbc.configuration.php#ini.uodbc.max-links
+; http://php.net/odbc.max-links
 odbc.max_links = -1
 
 ; Handling of LONG fields.  Returns number of bytes to variables.  0 means
 ; passthru.
-; http://www.php.net/manual/en/odbc.configuration.php#ini.uodbc.defaultlrl
+; http://php.net/odbc.defaultlrl
 odbc.defaultlrl = 4096
 
 ; Handling of binary data.  0 means passthru, 1 return as is, 2 convert to char.
 ; See the documentation on odbc_binmode and odbc_longreadlen for an explanation
-; of uodbc.defaultlrl and uodbc.defaultbinmode
-; http://www.php.net/manual/en/odbc.configuration.php#ini.uodbc.defaultbinmode
+; of odbc.defaultlrl and odbc.defaultbinmode
+; http://php.net/odbc.defaultbinmode
 odbc.defaultbinmode = 1
 
 ;birdstep.max_links = -1
 
+[Interbase]
+; Allow or prevent persistent links.
+ibase.allow_persistent = 1
+
+; Maximum number of persistent links.  -1 means no limit.
+ibase.max_persistent = -1
+
+; Maximum number of links (persistent + non-persistent).  -1 means no limit.
+ibase.max_links = -1
+
+; Default database name for ibase_connect().
+;ibase.default_db =
+
+; Default username for ibase_connect().
+;ibase.default_user =
+
+; Default password for ibase_connect().
+;ibase.default_password =
+
+; Default charset for ibase_connect().
+;ibase.default_charset =
+
+; Default timestamp format.
+ibase.timestampformat = "%Y-%m-%d %H:%M:%S"
+
+; Default date format.
+ibase.dateformat = "%Y-%m-%d"
+
+; Default time format.
+ibase.timeformat = "%H:%M:%S"
+
 [MySQL]
+; Allow accessing, from PHP's perspective, local files with LOAD DATA statements
+; http://php.net/mysql.allow_local_infile
+mysql.allow_local_infile = On
+
 ; Allow or prevent persistent links.
-; http://www.php.net/manual/en/mysql.configuration.php#ini.mysql.allow-persistent
+; http://php.net/mysql.allow-persistent
 mysql.allow_persistent = On
 
+; If mysqlnd is used: Number of cache slots for the internal result set cache
+; http://php.net/mysql.cache_size
+mysql.cache_size = 2000
+
 ; Maximum number of persistent links.  -1 means no limit.
-; http://www.php.net/manual/en/mysql.configuration.php#ini.mysql.max-persistent
+; http://php.net/mysql.max-persistent
 mysql.max_persistent = -1
 
 ; Maximum number of links (persistent + non-persistent).  -1 means no limit.
-; http://www.php.net/manual/en/mysql.configuration.php#ini.mysql.max-links
+; http://php.net/mysql.max-links
 mysql.max_links = -1
 
 ; Default port number for mysql_connect().  If unset, mysql_connect() will use
 ; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the
 ; compile-time value defined MYSQL_PORT (in that order).  Win32 will only look
 ; at MYSQL_PORT.
-; http://www.php.net/manual/en/mysql.configuration.php#ini.mysql.default-port
+; http://php.net/mysql.default-port
 mysql.default_port =
 
 ; Default socket name for local MySQL connects.  If empty, uses the built-in
 ; MySQL defaults.
-; http://www.php.net/manual/en/mysql.configuration.php#ini.mysql.default-socket
+; http://php.net/mysql.default-socket
 mysql.default_socket =
 
 ; Default host for mysql_connect() (doesn't apply in safe mode).
-; http://www.php.net/manual/en/mysql.configuration.php#ini.mysql.default-host
+; http://php.net/mysql.default-host
 mysql.default_host =
 
 ; Default user for mysql_connect() (doesn't apply in safe mode).
-; http://www.php.net/manual/en/mysql.configuration.php#ini.mysql.default-user
+; http://php.net/mysql.default-user
 mysql.default_user =
 
 ; Default password for mysql_connect() (doesn't apply in safe mode).
@@ -1119,42 +1104,58 @@ mysql.default_user =
 ; *Any* user with PHP access can run 'echo get_cfg_var("mysql.default_password")
 ; and reveal this password!  And of course, any users with read access to this
 ; file will be able to reveal the password as well.
-; http://www.php.net/manual/en/mysql.configuration.php#ini.mysql.default-password
+; http://php.net/mysql.default-password
 mysql.default_password =
 
 ; Maximum time (in seconds) for connect timeout. -1 means no limit
-; http://www.php.net/manual/en/mysql.configuration.php#ini.mysql.connect-timeout
+; http://php.net/mysql.connect-timeout
 mysql.connect_timeout = 60
 
 ; Trace mode. When trace_mode is active (=On), warnings for table/index scans and
 ; SQL-Errors will be displayed.
-; http://www.php.net/manual/en/mysql.configuration.php#ini.mysql.trace-mode
+; http://php.net/mysql.trace-mode
 mysql.trace_mode = Off
 
 [MySQLi]
 
+; Maximum number of persistent links.  -1 means no limit.
+; http://php.net/mysqli.max-persistent
+mysqli.max_persistent = -1
+
+; Allow accessing, from PHP's perspective, local files with LOAD DATA statements
+; http://php.net/mysqli.allow_local_infile
+;mysqli.allow_local_infile = On
+
+; Allow or prevent persistent links.
+; http://php.net/mysqli.allow-persistent
+mysqli.allow_persistent = On
+
 ; Maximum number of links.  -1 means no limit.
-; http://www.php.net/manual/en/mysqli.configuration.php#ini.mysqli.max-links
+; http://php.net/mysqli.max-links
 mysqli.max_links = -1
 
+; If mysqlnd is used: Number of cache slots for the internal result set cache
+; http://php.net/mysqli.cache_size
+mysqli.cache_size = 2000
+
 ; Default port number for mysqli_connect().  If unset, mysqli_connect() will use
 ; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the
 ; compile-time value defined MYSQL_PORT (in that order).  Win32 will only look
 ; at MYSQL_PORT.
-; http://www.php.net/manual/en/mysqli.configuration.php#ini.mysqli.default-port
+; http://php.net/mysqli.default-port
 mysqli.default_port = 3306
 
 ; Default socket name for local MySQL connects.  If empty, uses the built-in
 ; MySQL defaults.
-; http://www.php.net/manual/en/mysqli.configuration.php#ini.mysqli.default-socket
+; http://php.net/mysqli.default-socket
 mysqli.default_socket =
 
 ; Default host for mysql_connect() (doesn't apply in safe mode).
-; http://www.php.net/manual/en/mysqli.configuration.php#ini.mysqli.default-host
+; http://php.net/mysqli.default-host
 mysqli.default_host =
 
 ; Default user for mysql_connect() (doesn't apply in safe mode).
-; http://www.php.net/manual/en/mysqli.configuration.php#ini.mysqli.default-user
+; http://php.net/mysqli.default-user
 mysqli.default_user =
 
 ; Default password for mysqli_connect() (doesn't apply in safe mode).
@@ -1162,86 +1163,171 @@ mysqli.default_user =
 ; *Any* user with PHP access can run 'echo get_cfg_var("mysqli.default_pw")
 ; and reveal this password!  And of course, any users with read access to this
 ; file will be able to reveal the password as well.
-; http://www.php.net/manual/en/mysqli.configuration.php#ini.mysqli.default-pw
+; http://php.net/mysqli.default-pw
 mysqli.default_pw =
 
 ; Allow or prevent reconnect
 mysqli.reconnect = Off
 
-[PostgresSQL]
+[mysqlnd]
+; Enable / Disable collection of general statistics by mysqlnd which can be
+; used to tune and monitor MySQL operations.
+; http://php.net/mysqlnd.collect_statistics
+mysqlnd.collect_statistics = On
+
+; Enable / Disable collection of memory usage statistics by mysqlnd which can be
+; used to tune and monitor MySQL operations.
+; http://php.net/mysqlnd.collect_memory_statistics
+mysqlnd.collect_memory_statistics = Off
+
+; Size of a pre-allocated buffer used when sending commands to MySQL in bytes.
+; http://php.net/mysqlnd.net_cmd_buffer_size
+;mysqlnd.net_cmd_buffer_size = 2048
+
+; Size of a pre-allocated buffer used for reading data sent by the server in
+; bytes.
+; http://php.net/mysqlnd.net_read_buffer_size
+;mysqlnd.net_read_buffer_size = 32768
+
+[OCI8]
+
+; Connection: Enables privileged connections using external
+; credentials (OCI_SYSOPER, OCI_SYSDBA)
+; http://php.net/oci8.privileged-connect
+;oci8.privileged_connect = Off
+
+; Connection: The maximum number of persistent OCI8 connections per
+; process. Using -1 means no limit.
+; http://php.net/oci8.max-persistent
+;oci8.max_persistent = -1
+
+; Connection: The maximum number of seconds a process is allowed to
+; maintain an idle persistent connection. Using -1 means idle
+; persistent connections will be maintained forever.
+; http://php.net/oci8.persistent-timeout
+;oci8.persistent_timeout = -1
+
+; Connection: The number of seconds that must pass before issuing a
+; ping during oci_pconnect() to check the connection validity. When
+; set to 0, each oci_pconnect() will cause a ping. Using -1 disables
+; pings completely.
+; http://php.net/oci8.ping-interval
+;oci8.ping_interval = 60
+
+; Connection: Set this to a user chosen connection class to be used
+; for all pooled server requests with Oracle 11g Database Resident
+; Connection Pooling (DRCP).  To use DRCP, this value should be set to
+; the same string for all web servers running the same application,
+; the database pool must be configured, and the connection string must
+; specify to use a pooled server.
+;oci8.connection_class =
+
+; High Availability: Using On lets PHP receive Fast Application
+; Notification (FAN) events generated when a database node fails. The
+; database must also be configured to post FAN events.
+;oci8.events = Off
+
+; Tuning: This option enables statement caching, and specifies how
+; many statements to cache. Using 0 disables statement caching.
+; http://php.net/oci8.statement-cache-size
+;oci8.statement_cache_size = 20
+
+; Tuning: Enables statement prefetching and sets the default number of
+; rows that will be fetched automatically after statement execution.
+; http://php.net/oci8.default-prefetch
+;oci8.default_prefetch = 100
+
+; Compatibility. Using On means oci_close() will not close
+; oci_connect() and oci_new_connect() connections.
+; http://php.net/oci8.old-oci-close-semantics
+;oci8.old_oci_close_semantics = Off
+
+[PostgreSQL]
 ; Allow or prevent persistent links.
-; http://www.php.net/manual/en/pgsql.configuration.php#ini.pgsql.allow-persistent
+; http://php.net/pgsql.allow-persistent
 pgsql.allow_persistent = On
 
 ; Detect broken persistent links always with pg_pconnect().
 ; Auto reset feature requires a little overheads.
-; http://www.php.net/manual/en/pgsql.configuration.php#ini.pgsql.auto-reset-persistent
+; http://php.net/pgsql.auto-reset-persistent
 pgsql.auto_reset_persistent = Off
 
 ; Maximum number of persistent links.  -1 means no limit.
-; http://www.php.net/manual/en/pgsql.configuration.php#ini.pgsql.max-persistent
+; http://php.net/pgsql.max-persistent
 pgsql.max_persistent = -1
 
 ; Maximum number of links (persistent+non persistent).  -1 means no limit.
-; http://www.php.net/manual/en/pgsql.configuration.php#ini.pgsql.max-links
+; http://php.net/pgsql.max-links
 pgsql.max_links = -1
 
 ; Ignore PostgreSQL backends Notice message or not.
 ; Notice message logging require a little overheads.
-; http://www.php.net/manual/en/pgsql.configuration.php#ini.pgsql.ignore-notice
+; http://php.net/pgsql.ignore-notice
 pgsql.ignore_notice = 0
 
-; Log PostgreSQL backends Noitce message or not.
+; Log PostgreSQL backends Notice message or not.
 ; Unless pgsql.ignore_notice=0, module cannot log notice message.
-; http://www.php.net/manual/en/pgsql.configuration.php#ini.pgsql.log-notice
+; http://php.net/pgsql.log-notice
 pgsql.log_notice = 0
 
 [Sybase-CT]
 ; Allow or prevent persistent links.
-; http://www.php.net/manual/en/sybase.configuration.php#ini.sybct.allow-persistent
+; http://php.net/sybct.allow-persistent
 sybct.allow_persistent = On
 
 ; Maximum number of persistent links.  -1 means no limit.
-; http://www.php.net/manual/en/sybase.configuration.php#ini.sybct.max-persistent
+; http://php.net/sybct.max-persistent
 sybct.max_persistent = -1
 
 ; Maximum number of links (persistent + non-persistent).  -1 means no limit.
-; http://www.php.net/manual/en/sybase.configuration.php#ini.sybct.max-links
+; http://php.net/sybct.max-links
 sybct.max_links = -1
 
 ; Minimum server message severity to display.
-; http://www.php.net/manual/en/sybase.configuration.php#ini.sybct.min-server-severity
+; http://php.net/sybct.min-server-severity
 sybct.min_server_severity = 10
 
 ; Minimum client message severity to display.
-; http://www.php.net/manual/en/sybase.configuration.php#ini.sybct.min-client-severity
+; http://php.net/sybct.min-client-severity
 sybct.min_client_severity = 10
 
 ; Set per-context timeout
-; http://www.php.net/manual/en/sybase.configuration.php#ini.sybct.timeout
+; http://php.net/sybct.timeout
 ;sybct.timeout=
 
 ;sybct.packet_size
 
+; The maximum time in seconds to wait for a connection attempt to succeed before returning failure.
+; Default: one minute
+;sybct.login_timeout=
+
+; The name of the host you claim to be connecting from, for display by sp_who.
+; Default: none
+;sybct.hostname=
+
+; Allows you to define how often deadlocks are to be retried. -1 means "forever".
+; Default: 0
+;sybct.deadlock_retry_count=
+
 [bcmath]
 ; Number of decimal digits for all bcmath functions.
-; http://www.php.net/manual/en/bc.configuration.php#ini.bcmath.scale
+; http://php.net/bcmath.scale
 bcmath.scale = 0
 
 [browscap]
-; http://www.php.net/manual/en/misc.configuration.php#ini.browscap
+; http://php.net/browscap
 ;browscap = extra/browscap.ini
 
 [Session]
 ; Handler used to store/retrieve data.
-; http://www.php.net/manual/en/session.configuration.php#ini.session.save-handler
+; http://php.net/session.save-handler
 session.save_handler = files
 
 ; Argument passed to save_handler.  In the case of files, this is the path
 ; where data files are stored. Note: Windows users have to change this
 ; variable in order to use PHP's session functions.
 ;
-; As of PHP 4.0.1, you can define the path as:
+; The path can be defined as:
 ;
 ;     session.save_path = "N;/path"
 ;
@@ -1263,49 +1349,49 @@ session.save_handler = files
 ;
 ; where MODE is the octal representation of the mode. Note that this
 ; does not overwrite the process's umask.
-; http://www.php.net/manual/en/session.configuration.php#ini.session.save-path
+; http://php.net/session.save-path
 session.save_path = "/var/lib/php/session"
 
 ; Whether to use cookies.
-; http://www.php.net/manual/en/session.configuration.php#ini.session.use-cookies
+; http://php.net/session.use-cookies
 session.use_cookies = 1
 
-; http://www.php.net/manual/en/session.configuration.php#ini.session.cookie-secure
+; http://php.net/session.cookie-secure
 ;session.cookie_secure =
 
 ; This option forces PHP to fetch and use a cookie for storing and maintaining
-; the session id. We encourage this operation as it's very helpful in combatting
+; the session id. We encourage this operation as it's very helpful in combating
 ; session hijacking when not specifying and managing your own session id. It is
 ; not the end all be all of session hijacking defense, but it's a good start.
-; http://www.php.net/manual/en/session.configuration.php#ini.session.use-only-cookies
+; http://php.net/session.use-only-cookies
 session.use_only_cookies = 1
 
 ; Name of the session (used as cookie name).
-; http://www.php.net/manual/en/session.configuration.php#ini.session.name
+; http://php.net/session.name
 session.name = PHPSESSID
 
 ; Initialize session on request startup.
-; http://www.php.net/manual/en/session.configuration.php#ini.session.auto-start
+; http://php.net/session.auto-start
 session.auto_start = 0
 
 ; Lifetime in seconds of cookie or, if 0, until browser is restarted.
-; http://www.php.net/manual/en/session.configuration.php#ini.session.cookie-lifetime
+; http://php.net/session.cookie-lifetime
 session.cookie_lifetime = 0
 
 ; The path for which the cookie is valid.
-; http://www.php.net/manual/en/session.configuration.php#ini.session.cookie-path
+; http://php.net/session.cookie-path
 session.cookie_path = /
 
 ; The domain for which the cookie is valid.
-; http://www.php.net/manual/en/session.configuration.php#ini.session.cookie-domain
+; http://php.net/session.cookie-domain
 session.cookie_domain =
 
 ; Whether or not to add the httpOnly flag to the cookie, which makes it inaccessible to browser scripting languages such as JavaScript.
-; http://www.php.net/manual/en/session.configuration.php#ini.session.cookie-httponly
-session.cookie_httponly = 
+; http://php.net/session.cookie-httponly
+session.cookie_httponly =
 
 ; Handler used to serialize data.  php is the standard serializer of PHP.
-; http://www.php.net/manual/en/session.configuration.php#ini.session.serialize-handler
+; http://php.net/session.serialize-handler
 session.serialize_handler = php
 
 ; Defines the probability that the 'garbage collection' process is started
@@ -1317,11 +1403,11 @@ session.serialize_handler = php
 ; Default Value: 1
 ; Development Value: 1
 ; Production Value: 1
-; http://www.php.net/manual/en/session.configuration.php#ini.session.gc-probability
+; http://php.net/session.gc-probability
 session.gc_probability = 1
 
 ; Defines the probability that the 'garbage collection' process is started on every
-; session initialization. The probability is calculated by using the following equation: 
+; session initialization. The probability is calculated by using the following equation:
 ; gc_probability/gc_divisor. Where session.gc_probability is the numerator and
 ; session.gc_divisor is the denominator in the equation. Setting this value to 1
 ; when the session.gc_divisor value is 100 will give you approximately a 1% chance
@@ -1331,12 +1417,12 @@ session.gc_probability = 1
 ; Default Value: 100
 ; Development Value: 1000
 ; Production Value: 1000
-; http://www.php.net/manual/en/session.configuration.php#ini.session.gc-divisor
+; http://php.net/session.gc-divisor
 session.gc_divisor = 1000
 
 ; After this number of seconds, stored data will be seen as 'garbage' and
 ; cleaned up by the garbage collection process.
-; http://www.php.net/manual/en/session.configuration.php#ini.session.gc-maxlifetime
+; http://php.net/session.gc-maxlifetime
 session.gc_maxlifetime = 1440
 
 ; NOTE: If you are using the subdirectory option for storing session files
@@ -1345,11 +1431,11 @@ session.gc_maxlifetime = 1440
 ;       collection through a shell script, cron entry, or some other method.
 ;       For example, the following script would is the equivalent of
 ;       setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes):
-;          cd /path/to/sessions; find -cmin +24 | xargs rm
+;          find /path/to/sessions -cmin +24 | xargs rm
 
 ; PHP 4.2 and less have an undocumented feature/bug that allows you to
-; to initialize a session variable in the global scope, even when register_globals
-; is disabled.  PHP 4.3 and later will warn you, if this feature is used.
+; to initialize a session variable in the global scope.
+; PHP 4.3 and later will warn you, if this feature is used.
 ; You can disable the feature and the warning separately. At this time,
 ; the warning is only displayed, if bug_compat_42 is enabled. This feature
 ; introduces some serious security problems if not handled correctly. It's
@@ -1360,7 +1446,7 @@ session.gc_maxlifetime = 1440
 ; Default Value: On
 ; Development Value: On
 ; Production Value: Off
-; http://www.php.net/manual/en/session.configuration.php#ini.session.bug-compat-42
+; http://php.net/session.bug-compat-42
 session.bug_compat_42 = Off
 
 ; This setting controls whether or not you are warned by PHP when initializing a
@@ -1369,34 +1455,35 @@ session.bug_compat_42 = Off
 ; Default Value: On
 ; Development Value: On
 ; Production Value: Off
-; http://www.php.net/manual/en/session.configuration.php#ini.session.bug-compat-warn
+; http://php.net/session.bug-compat-warn
 session.bug_compat_warn = Off
 
 ; Check HTTP Referer to invalidate externally stored URLs containing ids.
 ; HTTP_REFERER has to contain this substring for the session to be
 ; considered as valid.
-; http://www.php.net/manual/en/session.configuration.php#ini.session.referer-check
+; http://php.net/session.referer-check
 session.referer_check =
 
 ; How many bytes to read from the file.
-; http://www.php.net/manual/en/session.configuration.php#ini.session.entropy-length
-session.entropy_length = 0
+; http://php.net/session.entropy-length
+;session.entropy_length = 32
 
 ; Specified here to create the session id.
-; http://www.php.net/manual/en/session.configuration.php#ini.session.entropy-file
+; http://php.net/session.entropy-file
+; Defaults to /dev/urandom
+; On systems that don't have /dev/urandom but do have /dev/arandom, this will default to /dev/arandom
+; If neither are found at compile time, the default is no entropy file.
+; On windows, setting the entropy_length setting will activate the
+; Windows random source (using the CryptoAPI)
 ;session.entropy_file = /dev/urandom
-session.entropy_file =
-
-; http://www.php.net/manual/en/session.configuration.php#ini.session.entropy-length
-;session.entropy_length = 16
 
 ; Set to {nocache,private,public,} to determine HTTP caching aspects
 ; or leave this empty to avoid sending anti-caching headers.
-; http://www.php.net/manual/en/session.configuration.php#ini.session.cache-limiter
+; http://php.net/session.cache-limiter
 session.cache_limiter = nocache
 
 ; Document expires after n minutes.
-; http://www.php.net/manual/en/session.configuration.php#ini.session.cache-expire
+; http://php.net/session.cache-expire
 session.cache_expire = 180
 
 ; trans sid support is disabled by default.
@@ -1405,17 +1492,20 @@ session.cache_expire = 180
 ; - User may send URL contains active session ID
 ;   to other person via. email/irc/etc.
 ; - URL that contains active session ID may be stored
-;   in publically accessible computer.
+;   in publicly accessible computer.
 ; - User may access your site with the same session ID
 ;   always using URL stored in browser's history or bookmarks.
-; http://www.php.net/manual/en/session.configuration.php#ini.session.use-trans-sid
+; http://php.net/session.use-trans-sid
 session.use_trans_sid = 0
 
 ; Select a hash function for use in generating session ids.
-; Possible Values 
+; Possible Values
 ;   0  (MD5 128 bits)
 ;   1  (SHA-1 160 bits)
-; http://www.php.net/manual/en/session.configuration.php#ini.session.hash-function
+; This option may also be set to the name of any hash function supported by
+; the hash extension. A list of available hashes is returned by the hash_algos()
+; function.
+; http://php.net/session.hash-function
 session.hash_function = 0
 
 ; Define how many bits are stored in each character when converting
@@ -1427,7 +1517,7 @@ session.hash_function = 0
 ; Default Value: 4
 ; Development Value: 5
 ; Production Value: 5
-; http://www.php.net/manual/en/session.configuration.php#ini.session.hash-bits-per-character
+; http://php.net/session.hash-bits-per-character
 session.hash_bits_per_character = 5
 
 ; The URL rewriter will look for URLs in a defined set of HTML tags.
@@ -1438,9 +1528,54 @@ session.hash_bits_per_character = 5
 ; Default Value: "a=href,area=href,frame=src,form=,fieldset="
 ; Development Value: "a=href,area=href,frame=src,input=src,form=fakeentry"
 ; Production Value: "a=href,area=href,frame=src,input=src,form=fakeentry"
-; http://www.php.net/manual/en/session.configuration.php#ini.url-rewriter.tags
+; http://php.net/url-rewriter.tags
 url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"
 
+; Enable upload progress tracking in $_SESSION
+; Default Value: On
+; Development Value: On
+; Production Value: On
+; http://php.net/session.upload-progress.enabled
+;session.upload_progress.enabled = On
+
+; Cleanup the progress information as soon as all POST data has been read
+; (i.e. upload completed).
+; Default Value: On
+; Development Value: On
+; Production Value: On
+; http://php.net/session.upload-progress.cleanup
+;session.upload_progress.cleanup = On
+
+; A prefix used for the upload progress key in $_SESSION
+; Default Value: "upload_progress_"
+; Development Value: "upload_progress_"
+; Production Value: "upload_progress_"
+; http://php.net/session.upload-progress.prefix
+;session.upload_progress.prefix = "upload_progress_"
+
+; The index name (concatenated with the prefix) in $_SESSION
+; containing the upload progress information
+; Default Value: "PHP_SESSION_UPLOAD_PROGRESS"
+; Development Value: "PHP_SESSION_UPLOAD_PROGRESS"
+; Production Value: "PHP_SESSION_UPLOAD_PROGRESS"
+; http://php.net/session.upload-progress.name
+;session.upload_progress.name = "PHP_SESSION_UPLOAD_PROGRESS"
+
+; How frequently the upload progress should be updated.
+; Given either in percentages (per-file), or in bytes
+; Default Value: "1%"
+; Development Value: "1%"
+; Production Value: "1%"
+; http://php.net/session.upload-progress.freq
+;session.upload_progress.freq =  "1%"
+
+; The minimum delay between updates, in seconds
+; Default Value: 1
+; Development Value: 1
+; Production Value: 1
+; http://php.net/session.upload-progress.min-freq
+;session.upload_progress.min_freq = "1"
+
 [MSSQL]
 ; Allow or prevent persistent links.
 mssql.allow_persistent = On
@@ -1488,72 +1623,76 @@ mssql.secure_connection = Off
 ; FreeTDS defaults to 4096
 ;mssql.max_procs = -1
 
-; Specify client character set. 
-; If empty or not set the client charset from freetds.comf is used
+; Specify client character set.
+; If empty or not set the client charset from freetds.conf is used
 ; This is only used when compiled with FreeTDS
 ;mssql.charset = "ISO-8859-1"
 
 [Assertion]
 ; Assert(expr); active by default.
-; http://www.php.net/manual/en/info.configuration.php#ini.assert.active
+; http://php.net/assert.active
 ;assert.active = On
 
 ; Issue a PHP warning for each failed assertion.
-; http://www.php.net/manual/en/info.configuration.php#ini.assert.warning
+; http://php.net/assert.warning
 ;assert.warning = On
 
 ; Don't bail out by default.
-; http://www.php.net/manual/en/info.configuration.php#ini.assert.bail
+; http://php.net/assert.bail
 ;assert.bail = Off
 
 ; User-function to be called if an assertion fails.
-; http://www.php.net/manual/en/info.configuration.php#ini.assert.callback
+; http://php.net/assert.callback
 ;assert.callback = 0
 
 ; Eval the expression with current error_reporting().  Set to true if you want
 ; error_reporting(0) around the eval().
-; http://www.php.net/manual/en/info.configuration.php#ini.assert.quiet-eval
+; http://php.net/assert.quiet-eval
 ;assert.quiet_eval = 0
 
 [COM]
 ; path to a file containing GUIDs, IIDs or filenames of files with TypeLibs
-; http://www.php.net/manual/en/com.configuration.php#ini.com.typelib-file
+; http://php.net/com.typelib-file
 ;com.typelib_file =
 
 ; allow Distributed-COM calls
-; http://www.php.net/manual/en/com.configuration.php#ini.com.allow-dcom
+; http://php.net/com.allow-dcom
 ;com.allow_dcom = true
 
 ; autoregister constants of a components typlib on com_load()
-; http://www.php.net/manual/en/com.configuration.php#ini.com.autoregister-typelib
+; http://php.net/com.autoregister-typelib
 ;com.autoregister_typelib = true
 
 ; register constants casesensitive
-; http://www.php.net/manual/en/com.configuration.php#ini.com.autoregister-casesensitive
+; http://php.net/com.autoregister-casesensitive
 ;com.autoregister_casesensitive = false
 
 ; show warnings on duplicate constant registrations
-; http://www.php.net/manual/en/com.configuration.php#ini.com.autoregister-verbose
+; http://php.net/com.autoregister-verbose
 ;com.autoregister_verbose = true
 
+; The default character set code-page to use when passing strings to and from COM objects.
+; Default: system ANSI code page
+;com.code_page=
+
 [mbstring]
 ; language for internal character representation.
-; http://www.php.net/manual/en/mbstring.configuration.php#ini.mbstring.language
+; http://php.net/mbstring.language
 ;mbstring.language = Japanese
 
 ; internal/script encoding.
 ; Some encoding cannot work as internal encoding.
 ; (e.g. SJIS, BIG5, ISO-2022-*)
-; http://www.php.net/manual/en/mbstring.configuration.php#ini.mbstring.internal-encoding
+; http://php.net/mbstring.internal-encoding
 ;mbstring.internal_encoding = EUC-JP
 
 ; http input encoding.
-; http://www.php.net/manual/en/mbstring.configuration.php#ini.mbstring.http-input
+; http://php.net/mbstring.http-input
 ;mbstring.http_input = auto
 
 ; http output encoding. mb_output_handler must be
 ; registered as output buffer to function
-; http://www.php.net/manual/en/mbstring.configuration.php#ini.mbstring.http-output
+; http://php.net/mbstring.http-output
 ;mbstring.http_output = SJIS
 
 ; enable automatic encoding translation according to
@@ -1561,17 +1700,17 @@ mssql.secure_connection = Off
 ; converted to internal encoding by setting this to On.
 ; Note: Do _not_ use automatic encoding translation for
 ;       portable libs/applications.
-; http://www.php.net/manual/en/mbstring.configuration.php#ini.mbstring.encoding-translation
+; http://php.net/mbstring.encoding-translation
 ;mbstring.encoding_translation = Off
 
 ; automatic encoding detection order.
 ; auto means
-; http://www.php.net/manual/en/mbstring.configuration.php#ini.mbstring.detect-order
+; http://php.net/mbstring.detect-order
 ;mbstring.detect_order = auto
 
 ; substitute_character used when character cannot be converted
 ; one from another
-; http://www.php.net/manual/en/mbstring.configuration.php#ini.mbstring.substitute-character
+; http://php.net/mbstring.substitute-character
 ;mbstring.substitute_character = none;
 
 ; overload(replace) single byte functions by mbstring functions.
@@ -1582,7 +1721,7 @@ mssql.secure_connection = Off
 ; 1: Overload mail() function
 ; 2: Overload str*() functions
 ; 4: Overload ereg*() functions
-; http://www.php.net/manual/en/mbstring.configuration.php#ini.mbstring.func-overload
+; http://php.net/mbstring.func-overload
 ;mbstring.func_overload = 0
 
 ; enable strict encoding detection.
@@ -1597,7 +1736,7 @@ mssql.secure_connection = Off
 ; Tell the jpeg decode to ignore warnings and try to create
 ; a gd image. The warning will then be displayed as notices
 ; disabled by default
-; http://www.php.net/manual/en/image.configuration.php#ini.image.jpeg-ignore-warning
+; http://php.net/gd.jpeg-ignore-warning
 ;gd.jpeg_ignore_warning = 0
 
 [exif]
@@ -1606,53 +1745,73 @@ mssql.secure_connection = Off
 ; given by corresponding encode setting. When empty mbstring.internal_encoding
 ; is used. For the decode settings you can distinguish between motorola and
 ; intel byte order. A decode setting cannot be empty.
-; http://www.php.net/manual/en/exif.configuration.php#ini.exif.encode-unicode
+; http://php.net/exif.encode-unicode
 ;exif.encode_unicode = ISO-8859-15
 
-; http://www.php.net/manual/en/exif.configuration.php#ini.exif.decode-unicode-motorola
+; http://php.net/exif.decode-unicode-motorola
 ;exif.decode_unicode_motorola = UCS-2BE
 
-; http://www.php.net/manual/en/exif.configuration.php#ini.exif.decode-unicode-intel
+; http://php.net/exif.decode-unicode-intel
 ;exif.decode_unicode_intel    = UCS-2LE
 
-; http://www.php.net/manual/en/exif.configuration.php#ini.exif.encode-jis
+; http://php.net/exif.encode-jis
 ;exif.encode_jis =
 
-; http://www.php.net/manual/en/exif.configuration.php#ini.exif.decode-jis-motorola
+; http://php.net/exif.decode-jis-motorola
 ;exif.decode_jis_motorola = JIS
 
-; http://www.php.net/manual/en/exif.configuration.php#ini.exif.decode-jis-intel
+; http://php.net/exif.decode-jis-intel
 ;exif.decode_jis_intel    = JIS
 
 [Tidy]
 ; The path to a default tidy configuration file to use when using tidy
-; http://www.php.net/manual/en/tidy.configuration.php#ini.tidy.default-config
+; http://php.net/tidy.default-config
 ;tidy.default_config = /usr/local/lib/php/default.tcfg
 
 ; Should tidy clean and repair output automatically?
 ; WARNING: Do not use this option if you are generating non-html content
 ; such as dynamic images
-; http://www.php.net/manual/en/tidy.configuration.php#ini.tidy.clean-output
+; http://php.net/tidy.clean-output
 tidy.clean_output = Off
 
 [soap]
 ; Enables or disables WSDL caching feature.
-; http://www.php.net/manual/en/soap.configuration.php#ini.soap.wsdl-cache-enabled
+; http://php.net/soap.wsdl-cache-enabled
 soap.wsdl_cache_enabled=1
 
 ; Sets the directory name where SOAP extension will put cache files.
-; http://www.php.net/manual/en/soap.configuration.php#ini.soap.wsdl-cache-dir
+; http://php.net/soap.wsdl-cache-dir
 soap.wsdl_cache_dir="/tmp"
 
-; (time to live) Sets the number of second while cached file will be used 
+; (time to live) Sets the number of second while cached file will be used
 ; instead of original one.
-; http://www.php.net/manual/en/soap.configuration.php#ini.soap.wsdl-cache-ttl
+; http://php.net/soap.wsdl-cache-ttl
 soap.wsdl_cache_ttl=86400
 
+; Sets the size of the cache limit. (Max. number of WSDL files to cache)
+soap.wsdl_cache_limit = 5
+
 [sysvshm]
 ; A default size of the shared memory segment
 ;sysvshm.init_mem = 10000
 
+[ldap]
+; Sets the maximum number of open links or -1 for unlimited.
+ldap.max_links = -1
+
+[mcrypt]
+; For more information about mcrypt settings see http://php.net/mcrypt-module-open
+
+; Directory where to load mcrypt algorithms
+; Default: Compiled in into libmcrypt (usually /usr/local/lib/libmcrypt)
+;mcrypt.algorithms_dir=
+
+; Directory where to load mcrypt modes
+; Default: Compiled in into libmcrypt (usually /usr/local/lib/libmcrypt)
+;mcrypt.modes_dir=
+
+[dba]
+;dba.default_handler=
 
 ; Local Variables:
 ; tab-width: 4
diff --git a/php.spec b/php.spec
index bd2bea4..c2718b4 100644
--- a/php.spec
+++ b/php.spec
@@ -1,15 +1,18 @@
 %global contentdir  /var/www
 # API/ABI check
-%global apiver      20090626
-%global zendver     20090626
+%global apiver      20100412
+%global zendver     20100525
 %global pdover      20080721
 # Extension version
 %global fileinfover 1.0.5-dev
 %global pharver     2.0.1
 %global zipver      1.9.1
 %global jsonver     1.2.1
+# For PHP Release Candidate version
+%global rcver       RC6
 
 %global httpd_mmn %(cat %{_includedir}/httpd/.mmn || echo missing-httpd-devel)
+%global mysql_sock %(mysql_config --socket || echo /var/lib/mysql/mysql.sock)
 
 # Regression tests take a long time, you can skip 'em with this
 %{!?runselftest: %{expand: %%global runselftest 1}}
@@ -36,13 +39,13 @@
 
 Summary: PHP scripting language for creating dynamic web sites
 Name: php
-Version: 5.3.8
-Release: 4%{?dist}.4
+Version: 5.4.0
+Release: 0.1.%{rcver}%{?dist}
 License: PHP
 Group: Development/Languages
 URL: http://www.php.net/
 
-Source0: http://www.php.net/distributions/php-%{version}.tar.bz2
+Source0: http://www.php.net/distributions/php-%{version}%{?rcver}.tar.bz2
 Source1: php.conf
 Source2: php.ini
 Source3: macros.php
@@ -52,43 +55,33 @@ Source6: php-fpm.service
 Source7: php-fpm.logrotate
 
 # Build fixes
-Patch1: php-5.3.7-gnusrc.patch
-Patch2: php-5.3.0-install.patch
-Patch3: php-5.2.4-norpath.patch
 Patch5: php-5.2.0-includedir.patch
 Patch6: php-5.2.4-embed.patch
 Patch7: php-5.3.0-recode.patch
-# from http://svn.php.net/viewvc?view=revision&revision=311042
-# and  http://svn.php.net/viewvc?view=revision&revision=311908
-Patch8: php-5.3.8-aconf259.patch
-# from http://svn.php.net/viewvc?view=revision&revision=316281
-# + fix harcoded mysql.sock path
-Patch9: php-5.3.8-mysqlnd.patch
 
 # Fixes for extension modules
-Patch20: php-4.3.11-shutdown.patch
-Patch21: php-5.3.3-macropen.patch
 
 # Functional changes
-Patch40: php-5.0.4-dlopen.patch
-Patch41: php-5.3.0-easter.patch
+Patch40: php-5.4.0-dlopen.patch
+Patch41: php-5.4.0-easter.patch
 Patch42: php-5.3.1-systzdata-v7.patch
 # See http://bugs.php.net/53436
-Patch43: php-5.3.4-phpize.patch
-# http://svn.php.net/viewvc?view=revision&revision=317183
-Patch44: php-5.3.8-isa.patch
+Patch43: php-5.4.0-phpize.patch
 
 # Fixes for tests
-Patch61: php-5.0.4-tests-wddx.patch
+
 
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
 BuildRequires: bzip2-devel, curl-devel >= 7.9, db4-devel, gmp-devel
 BuildRequires: httpd-devel >= 2.0.46-1, pam-devel
-BuildRequires: libstdc++-devel, openssl-devel, sqlite-devel >= 3.6.0
-BuildRequires: zlib-devel, pcre-devel >= 6.6, smtpdaemon, libedit-devel
+BuildRequires: libstdc++-devel, openssl-devel
+BuildRequires: sqlite-devel >= 3.6.0
+BuildRequires: zlib-devel, smtpdaemon, libedit-devel
+BuildRequires: pcre-devel >= 6.6
 BuildRequires: bzip2, perl, libtool >= 1.4.3, gcc-c++
 BuildRequires: libtool-ltdl-devel
+BuildRequires: bison
 
 Obsoletes: php-dbg, php3, phpfi, stronghold-php, php-zts < 5.3.7
 Provides: php-zts = %{version}-%{release}
@@ -106,9 +99,11 @@ Requires(pre): httpd
 # Don't provides extensions, which are not shared library, as .so
 # RPM 4.8
 %{?filter_provides_in: %filter_provides_in %{_libdir}/php/modules/.*\.so$}
+%{?filter_provides_in: %filter_provides_in %{_libdir}/php-zts/modules/.*\.so$}
 %{?filter_setup}
 # RPM 4.9
 %global __provides_exclude_from %{?__provides_exclude_from:%__provides_exclude_from|}%{_libdir}/php/modules/.*\\.so$
+%global __provides_exclude_from %{__provides_exclude_from}|%{_libdir}/php-zts/modules/.*\\.so$
 
 
 %description
@@ -134,6 +129,7 @@ Provides: php-readline, php-readline%{?_isa}
 The php-cli package contains the command-line interface 
 executing PHP scripts, /usr/bin/php, and the CGI interface.
 
+
 %if %{with_fpm}
 %package fpm
 Group: Development/Languages
@@ -159,10 +155,7 @@ any size, especially busier sites.
 %package common
 Group: Development/Languages
 Summary: Common files for PHP
-# Remove this when value change
-Provides: php-api = %{apiver}, php-zend-abi = %{zendver}
-Provides: php(api) = %{apiver}, php(zend-abi) = %{zendver}
-# New ABI/API check - Arch specific
+# ABI/API check - Arch specific
 Provides: php-api = %{apiver}%{isasuffix}, php-zend-abi = %{zendver}%{isasuffix}
 Provides: php(api) = %{apiver}%{isasuffix}, php(zend-abi) = %{zendver}%{isasuffix}
 # Provides for all builtin/shared modules:
@@ -215,6 +208,8 @@ Group: Development/Libraries
 Summary: Files needed for building PHP extensions
 Requires: php%{?_isa} = %{version}-%{release}, autoconf, automake
 Obsoletes: php-pecl-pdo-devel
+Provides: php-zts-devel = %{version}-%{release}
+Provides: php-zts-devel%{?_isa} = %{version}-%{release}
 
 %description devel
 The php-devel package contains the files needed for building PHP
@@ -257,9 +252,7 @@ Summary: A database access abstraction module for PHP applications
 Group: Development/Languages
 Requires: php-common%{?_isa} = %{version}-%{release}
 Obsoletes: php-pecl-pdo-sqlite, php-pecl-pdo
-# Remove this when value change
-Provides: php-pdo-abi = %{pdover}
-# New ABI/API check - Arch specific
+# ABI/API check - Arch specific
 Provides: php-pdo-abi = %{pdover}%{isasuffix}
 Provides: php-sqlite3, php-sqlite3%{?_isa}
 Provides: php-pdo_sqlite, php-pdo_sqlite%{?_isa}
@@ -554,26 +547,16 @@ support for using the enchant library to PHP.
 
 
 %prep
-%setup -q
-%patch1 -p1 -b .gnusrc
-%patch2 -p1 -b .install
-%patch3 -p1 -b .norpath
+%setup -q -n php-%{version}%{?rcver}
+
 %patch5 -p1 -b .includedir
 %patch6 -p1 -b .embed
 %patch7 -p1 -b .recode
-%patch8 -p1 -b .aconf26x
-%patch9 -p1 -b .mysqlnd
-
-%patch20 -p1 -b .shutdown
-%patch21 -p1 -b .macropen
 
 %patch40 -p1 -b .dlopen
 %patch41 -p1 -b .easter
 %patch42 -p1 -b .systzdata
-%patch43 -p0 -b .headers
-%patch44 -p4 -b .isa
-
-%patch61 -p1 -b .tests-wddx
+%patch43 -p1 -b .headers
 
 # Prevent %%doc confusion over LICENSE files
 cp Zend/LICENSE Zend/ZEND_LICENSE
@@ -582,7 +565,7 @@ cp ext/ereg/regex/COPYRIGHT regex_COPYRIGHT
 cp ext/gd/libgd/README gd_README
 
 # Multiple builds for multiple SAPIs
-mkdir build-cgi build-apache build-embedded build-zts \
+mkdir build-cgi build-apache build-embedded build-zts build-ztscli \
 %if %{with_fpm}
     build-fpm
 %endif
@@ -598,6 +581,13 @@ rm -f ext/standard/tests/file/bug22414.phpt \
       ext/iconv/tests/bug16069.phpt
 
 # Safety check for API version change.
+pver=$(sed -n '/#define PHP_VERSION /{s/.* "//;s/".*$//;p}' main/php_version.h)
+if test "x${pver}" != "x%{version}%{?rcver}"; then
+   : Error: Upstream PHP version is now ${pver}, expecting %{version}%{?rcver}.
+   : Update the version/rcver macros and rebuild.
+   exit 1
+fi
+
 vapi=`sed -n '/#define PHP_API_VERSION/{s/.* //;p}' main/php.h`
 if test "x${vapi}" != "x%{apiver}"; then
    : Error: Upstream API version is now ${vapi}, expecting %{apiver}.
@@ -680,7 +670,7 @@ PEAR_INSTALLDIR=%{_datadir}/pear; export PEAR_INSTALLDIR
 # Shell function to configure and build a PHP tree.
 build() {
 # bison-1.875-2 seems to produce a broken parser; workaround.
-mkdir Zend && cp ../Zend/zend_{language,ini}_{parser,scanner}.[ch] Zend
+# mkdir Zend && cp ../Zend/zend_{language,ini}_{parser,scanner}.[ch] Zend
 ln -sf ../configure
 %configure \
 	--cache-file=../config.cache \
@@ -715,11 +705,10 @@ ln -sf ../configure
 	--enable-ucd-snmp-hack \
 	--enable-shmop \
 	--enable-calendar \
-        --without-sqlite \
         --with-libxml-dir=%{_prefix} \
 	--enable-xml \
         --with-system-tzdata \
-        --with-mhash \
+	--with-mhash \
 	$* 
 if test $? != 0; then 
   tail -500 config.log
@@ -732,6 +721,7 @@ make %{?_smp_mflags}
 
 # Build /usr/bin/php-cgi with the CGI SAPI, and all the shared extensions
 pushd build-cgi
+
 build --enable-force-cgi-redirect \
       --libdir=%{_libdir}/php \
       --enable-pcntl \
@@ -746,6 +736,7 @@ build --enable-force-cgi-redirect \
       --enable-mysqlnd=shared \
       --with-mysql=shared,mysqlnd \
       --with-mysqli=shared,mysqlnd \
+      --with-mysql-sock=%{mysql_sock} \
       --with-interbase=shared,%{_libdir}/firebird \
       --with-pdo-firebird=shared,%{_libdir}/firebird \
       --enable-dom=shared \
@@ -823,14 +814,83 @@ build --enable-embed \
       ${without_shared}
 popd
 
+# Build a special thread-safe (mainly for modules)
+pushd build-ztscli
+
+EXTENSION_DIR=%{_libdir}/php-zts/modules
+build --enable-force-cgi-redirect \
+      --bindir=%{_bindir}/php-zts \
+      --includedir=%{_includedir}/php-zts \
+      --libdir=%{_libdir}/php-zts \
+      --enable-maintainer-zts \
+      --with-config-file-scan-dir=%{_sysconfdir}/php-zts.d \
+      --enable-pcntl \
+      --with-imap=shared --with-imap-ssl \
+      --enable-mbstring=shared \
+      --enable-mbregex \
+      --with-gd=shared \
+      --enable-bcmath=shared \
+      --enable-dba=shared --with-db4=%{_prefix} \
+      --with-xmlrpc=shared \
+      --with-ldap=shared --with-ldap-sasl \
+      --enable-mysqlnd=shared \
+      --with-mysql=shared,mysqlnd \
+      --with-mysqli=shared,mysqlnd \
+      --with-mysql-sock=%{mysql_sock} \
+      --enable-mysqlnd-threading \
+      --with-interbase=shared,%{_libdir}/firebird \
+      --with-pdo-firebird=shared,%{_libdir}/firebird \
+      --enable-dom=shared \
+      --with-pgsql=shared \
+      --enable-wddx=shared \
+      --with-snmp=shared,%{_prefix} \
+      --enable-soap=shared \
+      --with-xsl=shared,%{_prefix} \
+      --enable-xmlreader=shared --enable-xmlwriter=shared \
+      --with-curl=shared,%{_prefix} \
+      --enable-fastcgi \
+      --enable-pdo=shared \
+      --with-pdo-odbc=shared,unixODBC,%{_prefix} \
+      --with-pdo-mysql=shared,mysqlnd \
+      --with-pdo-pgsql=shared,%{_prefix} \
+      --with-pdo-sqlite=shared,%{_prefix} \
+      --with-pdo-dblib=shared,%{_prefix} \
+      --with-sqlite3=shared,%{_prefix} \
+      --enable-json=shared \
+%if %{with_zip}
+      --enable-zip=shared \
+%endif
+      --without-readline \
+      --with-libedit \
+      --with-pspell=shared \
+      --enable-phar=shared \
+      --with-mcrypt=shared,%{_prefix} \
+      --with-tidy=shared,%{_prefix} \
+      --with-mssql=shared,%{_prefix} \
+      --enable-sysvmsg=shared --enable-sysvshm=shared --enable-sysvsem=shared \
+      --enable-posix=shared \
+      --with-unixODBC=shared,%{_prefix} \
+      --enable-fileinfo=shared \
+      --enable-intl=shared \
+      --with-icu-dir=%{_prefix} \
+      --with-enchant=shared,%{_prefix} \
+      --with-recode=shared,%{_prefix}
+popd
+
 # Build a special thread-safe Apache SAPI
 pushd build-zts
-EXTENSION_DIR=%{_libdir}/php-zts/modules
-build --with-apxs2=%{_sbindir}/apxs ${without_shared} \
+build --with-apxs2=%{_sbindir}/apxs \
+      --bindir=%{_bindir}/php-zts \
+      --includedir=%{_includedir}/php-zts \
       --libdir=%{_libdir}/php-zts \
-      --without-mysql --disable-pdo \
       --enable-maintainer-zts \
-      --with-config-file-scan-dir=%{_sysconfdir}/php-zts.d
+      --with-config-file-scan-dir=%{_sysconfdir}/php-zts.d \
+      --enable-pdo=shared \
+      --with-mysql=shared,%{_prefix} \
+      --with-mysqli=shared,%{mysql_config} \
+      --with-pdo-mysql=shared,%{mysql_config} \
+      --with-pdo-sqlite=shared,%{_prefix} \
+      ${without_shared}
 popd
 
 ### NOTE!!! EXTENSION_DIR was changed for the -zts build, so it must remain
@@ -858,8 +918,25 @@ unset NO_INTERACTION REPORT_EXIT_STATUS MALLOC_CHECK_
 %install
 [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
 
+# Install the extensions for the ZTS version
+make -C build-ztscli install \
+     INSTALL_ROOT=$RPM_BUILD_ROOT
+
+# rename extensions build with mysqlnd
+mv $RPM_BUILD_ROOT%{_libdir}/php-zts/modules/mysql.so \
+   $RPM_BUILD_ROOT%{_libdir}/php-zts/modules/mysqlnd_mysql.so
+mv $RPM_BUILD_ROOT%{_libdir}/php-zts/modules/mysqli.so \
+   $RPM_BUILD_ROOT%{_libdir}/php-zts/modules/mysqlnd_mysqli.so
+mv $RPM_BUILD_ROOT%{_libdir}/php-zts/modules/pdo_mysql.so \
+   $RPM_BUILD_ROOT%{_libdir}/php-zts/modules/pdo_mysqlnd.so
+
+# Install the extensions for the ZTS version modules for libmysql
+make -C build-zts install-modules \
+     INSTALL_ROOT=$RPM_BUILD_ROOT
+
 # Install the version for embedded script language in applications + php_embed.h
-make -C build-embedded install-sapi install-headers INSTALL_ROOT=$RPM_BUILD_ROOT
+make -C build-embedded install-sapi install-headers \
+     INSTALL_ROOT=$RPM_BUILD_ROOT
 
 %if %{with_fpm}
 # Install the php-fpm binary
@@ -887,11 +964,10 @@ make -C build-apache install-modules \
 install -m 755 -d $RPM_BUILD_ROOT%{_sysconfdir}/
 install -m 644 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/php.ini
 install -m 755 -d $RPM_BUILD_ROOT%{contentdir}/icons
-install -m 644    *.gif $RPM_BUILD_ROOT%{contentdir}/icons/
+install -m 644 php.gif $RPM_BUILD_ROOT%{contentdir}/icons/php.gif
 
 # For third-party packaging:
-install -m 755 -d $RPM_BUILD_ROOT%{_libdir}/php/pear \
-                  $RPM_BUILD_ROOT%{_datadir}/php
+install -m 755 -d $RPM_BUILD_ROOT%{_datadir}/php
 
 # install the DSO
 install -m 755 -d $RPM_BUILD_ROOT%{_libdir}/httpd/modules
@@ -901,11 +977,11 @@ install -m 755 build-apache/libs/libphp5.so $RPM_BUILD_ROOT%{_libdir}/httpd/modu
 install -m 755 build-zts/libs/libphp5.so $RPM_BUILD_ROOT%{_libdir}/httpd/modules/libphp5-zts.so
 
 # Apache config fragment
-install -m 755 -d $RPM_BUILD_ROOT/etc/httpd/conf.d
-install -m 644 %{SOURCE1} $RPM_BUILD_ROOT/etc/httpd/conf.d
+install -m 755 -d $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf.d
+install -m 644 %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf.d
 
 install -m 755 -d $RPM_BUILD_ROOT%{_sysconfdir}/php.d
-#install -m 755 -d $RPM_BUILD_ROOT%{_sysconfdir}/php-zts.d
+install -m 755 -d $RPM_BUILD_ROOT%{_sysconfdir}/php-zts.d
 install -m 755 -d $RPM_BUILD_ROOT%{_localstatedir}/lib/php
 install -m 700 -d $RPM_BUILD_ROOT%{_localstatedir}/lib/php/session
 
@@ -919,15 +995,15 @@ install -m 755 -d $RPM_BUILD_ROOT%{_sysconfdir}/php-fpm.d
 install -m 644 %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/php-fpm.conf
 install -m 644 %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/php-fpm.d/www.conf
 mv $RPM_BUILD_ROOT%{_sysconfdir}/php-fpm.conf.default .
+# tmpfiles.d
+install -m 755 -d $RPM_BUILD_ROOT%{_sysconfdir}/tmpfiles.d
+install -m 644 php-fpm.tmpfiles $RPM_BUILD_ROOT%{_sysconfdir}/tmpfiles.d/php-fpm.conf
 # install systemd unit files and scripts for handling server startup
 install -m 755 -d $RPM_BUILD_ROOT%{_unitdir}
 install -m 644 %{SOURCE6} $RPM_BUILD_ROOT%{_unitdir}/
 # LogRotate
 install -m 755 -d $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d
 install -m 644 %{SOURCE7} $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/php-fpm
-# tmpfiles.d
-install -m 755 -d $RPM_BUILD_ROOT%{_sysconfdir}/tmpfiles.d
-install -m 644 php-fpm.tmpfiles $RPM_BUILD_ROOT%{_sysconfdir}/tmpfiles.d/php-fpm.conf
 %endif
 
 # Fix the link
@@ -938,16 +1014,23 @@ for mod in pgsql mysql mysqli odbc ldap snmp xmlrpc imap \
     mysqlnd mysqlnd_mysql mysqlnd_mysqli pdo_mysqlnd \
     mbstring gd dom xsl soap bcmath dba xmlreader xmlwriter \
     pdo pdo_mysql pdo_pgsql pdo_odbc pdo_sqlite json %{zipmod} \
-    sqlite3 enchant phar fileinfo intl \
+    sqlite3  interbase pdo_firebird \
+    enchant phar fileinfo intl \
     mcrypt tidy pdo_dblib mssql pspell curl wddx \
-    posix sysvshm sysvsem sysvmsg recode interbase pdo_firebird; do
+    posix sysvshm sysvsem sysvmsg recode; do
     cat > $RPM_BUILD_ROOT%{_sysconfdir}/php.d/${mod}.ini <<EOF
 ; Enable ${mod} extension module
 extension=${mod}.so
 EOF
+    cat > $RPM_BUILD_ROOT%{_sysconfdir}/php-zts.d/${mod}.ini <<EOF
+; Enable ${mod} extension module
+extension=${mod}.so
+EOF
     cat > files.${mod} <<EOF
 %attr(755,root,root) %{_libdir}/php/modules/${mod}.so
+%attr(755,root,root) %{_libdir}/php-zts/modules/${mod}.so
 %config(noreplace) %attr(644,root,root) %{_sysconfdir}/php.d/${mod}.ini
+%config(noreplace) %attr(644,root,root) %{_sysconfdir}/php-zts.d/${mod}.ini
 EOF
 done
 
@@ -994,7 +1077,10 @@ install -m 644 -c macros.php \
 
 # Remove unpackaged files
 rm -rf $RPM_BUILD_ROOT%{_libdir}/php/modules/*.a \
+       $RPM_BUILD_ROOT%{_libdir}/php-zts/modules/*.a \
        $RPM_BUILD_ROOT%{_bindir}/{phptar} \
+       $RPM_BUILD_ROOT%{_bindir}/php-zts/phar* \
+       $RPM_BUILD_ROOT%{_bindir}/php-zts/php-cgi \
        $RPM_BUILD_ROOT%{_datadir}/pear \
        $RPM_BUILD_ROOT%{_libdir}/libphp5.la
 
@@ -1060,12 +1146,12 @@ fi
 %doc php.ini-*
 %config(noreplace) %{_sysconfdir}/php.ini
 %dir %{_sysconfdir}/php.d
-#dir %{_sysconfdir}/php-zts.d
+%dir %{_sysconfdir}/php-zts.d
 %dir %{_libdir}/php
 %dir %{_libdir}/php/modules
-#dir %{_libdir}/php-zts/modules
+%dir %{_libdir}/php-zts
+%dir %{_libdir}/php-zts/modules
 %dir %{_localstatedir}/lib/php
-%dir %{_libdir}/php/pear
 %dir %{_datadir}/php
 
 %files cli
@@ -1088,27 +1174,34 @@ fi
 %config(noreplace) %{_sysconfdir}/php-fpm.d/www.conf
 %config(noreplace) %{_sysconfdir}/logrotate.d/php-fpm
 %config(noreplace) %{_sysconfdir}/tmpfiles.d/php-fpm.conf
-%{_sbindir}/php-fpm
 %{_unitdir}/php-fpm.service
+%{_sbindir}/php-fpm
 %dir %{_sysconfdir}/php-fpm.d
 # log owned by apache for log
-%attr(770,apache,apache) %dir %{_localstatedir}/log/php-fpm
+%attr(770,apache,root) %dir %{_localstatedir}/log/php-fpm
 %dir %{_localstatedir}/run/php-fpm
 %{_mandir}/man8/php-fpm.8*
+%{_datadir}/fpm/status.html
 %endif
 
 %files devel
 %defattr(-,root,root)
 %{_bindir}/php-config
+%{_bindir}/php-zts/php-config
+%{_bindir}/php-zts/phpize
+# usefull only to test other module during build
+%{_bindir}/php-zts/php
 %{_includedir}/php
+%{_includedir}/php-zts
 %{_libdir}/php/build
+%{_libdir}/php-zts/build
 %{_mandir}/man1/php-config.1*
 %config %{_sysconfdir}/rpm/macros.php
 
 %files embedded
 %defattr(-,root,root,-)
 %{_libdir}/libphp5.so
-%{_libdir}/libphp5-%{version}.so
+%{_libdir}/libphp5-%{version}%{?rcver}.so
 
 %files pgsql -f files.pgsql
 %files mysql -f files.mysql
@@ -1139,6 +1232,10 @@ fi
 
 
 %changelog
+* Wed Jan 18 2012 Remi Collet <remi at fedoraproject.org> 5.4.0-0.1.RC6
+- update to PHP 5.4.0RC6
+  https://fedoraproject.org/wiki/Features/Php54
+
 * Sun Jan 08 2012 Remi Collet <remi at fedoraproject.org> 5.3.8-4.4
 - fix systemd unit
 
diff --git a/sources b/sources
index 1281f44..16382cb 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-704cd414a0565d905e1074ffdc1fadfb  php-5.3.8.tar.bz2
+57ebb13b37bdce10ce2e2a2327873555  php-5.4.0RC6.tar.bz2


More information about the scm-commits mailing list