Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

This commit was manufactured by cvs2svn to create tag

'BEFORE_PARAM_PARSING_CHANGE'.
  • Loading branch information...
commit e64afc92c22810a389022264c970c81c19922eec 1 parent b94cff2
SVN Migration authored
Showing with 0 additions and 50,195 deletions.
  1. +0 −218 CODING_STANDARDS
  2. +0 −2  CREDITS
  3. +0 −16,703 ChangeLog
  4. BIN  ChangeLog.1999.gz
  5. BIN  ChangeLog.2000.gz
  6. +0 −426 EXTENSIONS
  7. +0 −406 INSTALL
  8. +0 −75 LICENSE
  9. +0 −62 Makefile.in
  10. +0 −1,592 NEWS
  11. +0 −105 README.CVS-RULES
  12. +0 −184 README.EXT_SKEL
  13. +0 −57 README.QNX
  14. +0 −174 README.SELF-CONTAINED-EXTENSIONS
  15. +0 −243 README.STREAMS
  16. +0 −126 README.Zeus
  17. +0 −186 RELEASE_PROCESS
  18. +0 −142 TODO
  19. +0 −35 TODO-4.2.txt
  20. +0 −26 TSRM/LICENSE
  21. +0 −6 TSRM/Makefile.am
  22. +0 −2  TSRM/TODO
  23. +0 −588 TSRM/TSRM.c
  24. +0 −186 TSRM/TSRM.dsp
  25. +0 −143 TSRM/TSRM.h
  26. +0 −1  TSRM/acconfig.h
  27. +0 −5 TSRM/acinclude.m4
  28. +0 −43 TSRM/build.mk
  29. +0 −33 TSRM/buildconf
  30. +0 −33 TSRM/configure.in
  31. +0 −44 TSRM/readdir.h
  32. +0 −157 TSRM/threads.m4
  33. +0 −124 TSRM/tsrm.m4
  34. +0 −15 TSRM/tsrm_config.w32.h
  35. +0 −47 TSRM/tsrm_config_common.h
  36. +0 −63 TSRM/tsrm_strtok_r.c
  37. +0 −6 TSRM/tsrm_strtok_r.h
  38. +0 −773 TSRM/tsrm_virtual_cwd.c
  39. +0 −215 TSRM/tsrm_virtual_cwd.h
  40. +0 −359 TSRM/tsrm_win32.c
  41. +0 −107 TSRM/tsrm_win32.h
  42. +0 −186 Zend/FlexLexer.h
  43. +0 −116 Zend/LICENSE
  44. +0 −49 Zend/Makefile.am
  45. +0 −112 Zend/ZEND_CHANGES
  46. +0 −494 Zend/Zend.dsp
  47. +0 −183 Zend/Zend.m4
  48. +0 −258 Zend/ZendCore.dep
  49. +0 −651 Zend/ZendTS.dsp
  50. +0 −76 Zend/acconfig.h
  51. +0 −47 Zend/acinclude.m4
  52. +0 −43 Zend/build.mk
  53. +0 −33 Zend/buildconf
  54. +0 −45 Zend/configure.in
  55. +0 −1,600 Zend/flex.skl
  56. +0 −832 Zend/zend.c
  57. +0 −527 Zend/zend.h
  58. BIN  Zend/zend.ico
  59. +0 −1,380 Zend/zend_API.c
  60. +0 −406 Zend/zend_API.h
  61. +0 −769 Zend/zend_alloc.c
  62. +0 −141 Zend/zend_alloc.h
  63. +0 −1,107 Zend/zend_builtin_functions.c
  64. +0 −26 Zend/zend_builtin_functions.h
  65. +0 −2,399 Zend/zend_compile.c
  66. +0 −625 Zend/zend_compile.h
  67. +0 −86 Zend/zend_config.w32.h
  68. +0 −263 Zend/zend_constants.c
  69. +0 −64 Zend/zend_constants.h
  70. +0 −62 Zend/zend_dynamic_array.c
  71. +0 −38 Zend/zend_dynamic_array.h
  72. +0 −40 Zend/zend_errors.h
  73. +0 −2,473 Zend/zend_execute.c
  74. +0 −161 Zend/zend_execute.h
  75. +0 −804 Zend/zend_execute_API.c
  76. +0 −32 Zend/zend_execute_locks.h
  77. +0 −218 Zend/zend_extensions.c
  78. +0 −116 Zend/zend_extensions.h
  79. +0 −140 Zend/zend_fast_cache.h
  80. +0 −245 Zend/zend_globals.h
  81. +0 −109 Zend/zend_globals_macros.h
  82. +0 −1,307 Zend/zend_hash.c
  83. +0 −219 Zend/zend_hash.h
  84. +0 −181 Zend/zend_highlight.c
  85. +0 −51 Zend/zend_highlight.h
  86. +0 −147 Zend/zend_indent.c
  87. +0 −26 Zend/zend_indent.h
  88. +0 −486 Zend/zend_ini.c
  89. +0 −199 Zend/zend_ini.h
  90. +0 −236 Zend/zend_ini_parser.y
  91. +0 −24 Zend/zend_ini_scanner.h
  92. +0 −289 Zend/zend_ini_scanner.l
  93. +0 −15 Zend/zend_istdiostream.h
  94. +0 −723 Zend/zend_language_parser.y
  95. +0 −55 Zend/zend_language_scanner.h
  96. +0 −1,608 Zend/zend_language_scanner.l
  97. +0 −391 Zend/zend_list.c
  98. +0 −113 Zend/zend_list.h
  99. +0 −294 Zend/zend_llist.c
  100. +0 −78 Zend/zend_llist.h
  101. +0 −84 Zend/zend_modules.h
  102. +0 −122 Zend/zend_objects.c
  103. +0 −34 Zend/zend_objects.h
  104. +0 −395 Zend/zend_opcode.c
  105. +0 −1,781 Zend/zend_operators.c
  106. +0 −250 Zend/zend_operators.h
  107. +0 −110 Zend/zend_ptr_stack.c
  108. +0 −58 Zend/zend_ptr_stack.h
  109. +0 −40 Zend/zend_sprintf.c
  110. +0 −164 Zend/zend_stack.c
  111. +0 −47 Zend/zend_stack.h
Sorry, we could not display the entire diff because too many files (1,732) changed.
View
218 CODING_STANDARDS
@@ -1,218 +0,0 @@
-PHP Coding Standards
-====================
-
-
-This file lists several standards that any programmer, adding or changing
-code in PHP, should follow. Since this file was added at a very late
-stage of the development of PHP v3.0, the code base does not (yet) fully
-follow it, but it's going in that general direction. Since we are now
-well into the version 4 releases, many sections have been recoded to use
-these rules.
-
-
-Code Implementation
--------------------
-
-[1] Functions that are given pointers to resources should not free them
-
-For instance, function int mail(char *to, char *from) should NOT free
-to and/or from.
-Exceptions:
-
- - The function's designated behavior is freeing that resource. E.g. efree()
- - The function is given a boolean argument, that controls whether or not
- the function may free its arguments (if true - the function must free its
- arguments, if false - it must not)
- - Low-level parser routines, that are tightly integrated with the token
- cache and the bison code for minimum memory copying overhead.
-
-[2] Functions that are tightly integrated with other functions within the
- same module, and rely on each other non-trivial behavior, should be
- documented as such and declared 'static'. They should be avoided if
- possible.
-
-[3] Use definitions and macros whenever possible, so that constants have
- meaningful names and can be easily manipulated. The only exceptions
- to this rule are 0 and 1, when used as false and true (respectively).
- Any other use of a numeric constant to specify different behavior
- or actions should be done through a #define.
-
-[4] When writing functions that deal with strings, be sure to remember
- that PHP holds the length property of each string, and that it
- shouldn't be calculated with strlen(). Write your functions in a such
- a way so that they'll take advantage of the length property, both
- for efficiency and in order for them to be binary-safe.
- Functions that change strings and obtain their new lengths while
- doing so, should return that new length, so it doesn't have to be
- recalculated with strlen() (e.g. php_addslashes())
-
-[5] Use php_error() to report any errors/warnings during code execution.
- Use descriptive error messages, and try to avoid using identical
- error strings for different stages of an error. For example,
- if in order to obtain a URL you have to parse the URL, connect,
- and retreive the text, assuming something can go wrong at each
- of these stages, don't report an error "Unable to get URL"
- on all of them, but instead, write something like "Unable
- to parse URL", "Unable to connect to URL server" and "Unable
- to fetch URL text", respectively.
-
-[6] NEVER USE strncat(). If you're absolutely sure you know what you're doing,
- check its man page again, and only then, consider using it, and even then,
- try avoiding it.
-
-
-Naming Conventions
-------------------
-
-[1] Function names for user-level functions should be enclosed with in
- the PHP_FUNCTION() macro. They should be in lowercase, with words
- underscore delimited, with care taken to minimize the letter count.
- Abbreviations should not be used when they greatly decrease the
- readability of the function name itself.
-
- Good:
- 'mcrypt_enc_self_test'
- 'mysql_list_fields'
-
- Ok:
- 'mcrypt_module_get_algo_supported_key_sizes'
- (could be 'mcrypt_mod_get_algo_sup_key_sizes'?)
- 'get_html_translation_table'
- (could be 'html_get_trans_table'?)
-
- Bad:
- 'hw_GetObjectByQueryCollObj'
- 'pg_setclientencoding'
- 'jf_n_s_i'
-
-
-[2] If they are part of a "parent set" of functions, that parent should
- be included in the user function name, and should be clearly related
- to the parent program or function family. This should be in the form
- of parent_*.
-
- A family of 'foo' functions, for example:
- Good:
- 'foo_select_bar'
- 'foo_insert_baz'
- 'foo_delete_baz'
-
- Bad:
- 'fooselect_bar'
- 'fooinsertbaz'
- 'delete_foo_baz'
-
-[3] Function names used by user functions should be prefixed
- with "_php_", and followed by a word or an underscore-delimited list of
- words, in lowercase letters, that describes the function. If applicable,
- they should be declared 'static'.
-
-[4] Variable names must be meaningful. One letter variable names must be
- avoided, except for places where the variable has no real meaning or
- a trivial meaning (e.g. for (i=0; i<100; i++) ...).
-
-[5] Variable names should be in lowercase; Use underscores to seperate
- between words.
-
-
-Syntax and indentation
-----------------------
-
-[1] Never use C++ style comments (i.e. // comment). Always use C-style
- comments instead. PHP is written in C, and is aimed at compiling
- under any ANSI-C compliant compiler. Even though many compilers
- accept C++-style comments in C code, you have to ensure that your
- code would compile with other compilers as well.
- The only exception to this rule is code that is Win32-specific,
- because the Win32 port is MS-Visual C++ specific, and this compiler
- is known to accept C++-style comments in C code.
-
-[2] Use K&R-style. Of course, we can't and don't want to
- force anybody to use a style he or she is not used to, but,
- at the very least, when you write code that goes into the core
- of PHP or one of its standard modules, please maintain the K&R
- style. This applies to just about everything, starting with
- indentation and comment styles and up to function decleration
- syntax.
-
-[3] Be generous with whitespace and braces. Always prefer:
-
- if (foo) {
- bar;
- }
-
- to:
-
- if(foo)bar;
-
- Keep one empty line between the variable decleration section and
- the statements in a block, as well as between logical statement
- groups in a block. Maintain at least one empty line between
- two functions, preferably two.
-
-[4] When indenting, use the tab character. A tab is expected to represent
- four spaces. It is important to maintain consistency in indenture so
- that definitions, comments, and control structures line up correctly.
-
-Documentation and Folding Hooks
--------------------------------
-
-In order to make sure that the online documentation stays in line with
-the code, each user-level function should have its user-level function
-prototype before it along with a brief one-line description of what the
-function does. It would look like this:
-
-/* {{{ proto int abs(int number)
- Return the absolute value of the number */
-PHP_FUNCTION(abs)
-{
- ...
-}
-/* }}} */
-
-The {{{ symbols are the default folding symbols for the folding mode in
-Emacs and vim (set fdm=marker). Folding is very useful when dealing with
-large files because you can scroll through the file quickly and just unfold
-the function you wish to work on. The }}} at the end of each function marks
-the end of the fold, and should be on a separate line.
-
-The "proto" keyword there is just a helper for the doc/genfuncsummary script
-which generates a full function summary. Having this keyword in front of the
-function prototypes allows us to put folds elsewhere in the code without
-messing up the function summary.
-
-Optional arguments are written like this:
-
-/* {{{ proto object imap_header(int stream_id, int msg_no [, int from_length [, int subject_length [, string default_host]]])
- Returns a header object with the defined parameters. */
-
-And yes, please keep the prototype on a single line, even if that line
-is massive.
-
-New and Experimental Functions
------------------------------------
-To reduce the problems normally associated with the first public
-implementation of a new set of functions, it has been suggested
-that the first implementation include a file labeled 'EXPERIMENTAL'
-in the function directory, and that the functions follow the
-standard prefixing conventions during their initial implementation.
-
-The file labelled 'EXPERIMENTAL' should include the following
-information:
- Any authoring infomration (known bugs, future directions of the module).
- Ongoing status notes which may not be appropriate for CVS comments.
-
-Aliases & Legacy Documentation
------------------------------------
-You may also have some deprecated aliases with close to duplicate
-names, for example, somedb_select_result and somedb_selectresult. For
-documentation puposes, these will only be documented by the most
-current name, with the aliases listed in the documentation for
-the parent function. For ease of reference, user-functions with
-completely different names, that alias to the same function (such as
-highlight_file and show_source), will be separately documented. The
-proto should still be included, describing which function is aliased.
-
-Backwards compatible functions and names should be maintained as long
-as the code can be reasonably be kept as part of the codebase. See
-/phpdoc/README for me information on documentation.
View
2  CREDITS
@@ -1,2 +0,0 @@
-For the list of people who've put work into PHP 4.0, please see
-http://www.php.net/credits.php
View
16,703 ChangeLog
0 additions, 16,703 deletions not shown
View
BIN  ChangeLog.1999.gz
Binary file not shown
View
BIN  ChangeLog.2000.gz
Binary file not shown
View
426 EXTENSIONS
@@ -1,426 +0,0 @@
- List of PHP maintainers
- =======================
-
-Maintenance legend
-------------------
- Supported: Someone is actually paid to look after this.
- Maintained: Someone actually looks after it.
- Odd Fixes: It has a maintainer but they don't have time to do
- much other than throw the odd patch in. See below.
- Orphan: No current maintainer [but maybe you could take the
- role as you write your new code].
- Obsolete: Old code. Something tagged obsolete generally means
- it has been replaced by a better system and you
- should be using that.
- Unknown: Not known at this time.
-
-Status legend
--------------
- Working: Working under both Windows and Unix.
- Windows: Working only under Windows.
- Unix: Working only under Unix.
- Experimental: Under development or initial release.
- Not Working: Not working.
- Unknown: Status unknown.
-
-
-== Server APIs ==
-
--------------------------------------------------------------------------------
-EXTENSION: aolserver
-MAINTENANCE: Unknown
-STATUS: Unknown
--------------------------------------------------------------------------------
-EXTENSION: apache
-PRIMARY MAINTAINER: Rasmus Lerdorf <rasmus@php.net>
-MAINTENANCE: Maintained
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: cgi
-MAINTENANCE: Unknown
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: fhttpd
-MAINTENANCE: Unknown
-STATUS: Unknown
--------------------------------------------------------------------------------
-EXTENSION: isapi
-MAINTENANCE: Unknown
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: nsapi
-MAINTENANCE: Unknown
-STATUS: Unknown
--------------------------------------------------------------------------------
-EXTENSION: phttpd
-MAINTENANCE: Unknown
-STATUS: Unknown
--------------------------------------------------------------------------------
-EXTENSION: pi3web
-MAINTENANCE: Unknown
-STATUS: Unknown
--------------------------------------------------------------------------------
-EXTENSION: roxen
-MAINTENANCE: Unknown
-STATUS: Unknown
--------------------------------------------------------------------------------
-EXTENSION: servlet
-PRIMARY MAINTAINER: Sam Ruby <rubys@us.ibm.com>
-MAINTENANCE: Maintained
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: thttpd
-MAINTENANCE: Unknown
-STATUS: Unknown
--------------------------------------------------------------------------------
-
-
-== Database extensions ==
-
--------------------------------------------------------------------------------
-EXTENSION: dba
-PRIMARY MAINTAINER: Sascha Schumann <sascha@schumann.cx>
-MAINTENANCE: Maintained
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: dbase
-PRIMARY MAINTAINER: Jim Winstead <jimw@php.net>
-MAINTENANCE: Odd Fixes
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: filepro
-MAINTENANCE: Unknown
-STATUS: Unknown
--------------------------------------------------------------------------------
-EXTENSION: hyperwave
-PRIMARY MAINTAINER: Uwe Steinmann <steinm@php.net>
-MAINTENANCE: Maintained
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: informix
-PRIMARY MAINTAINER: Danny Heijl <Danny.Heijl@cevi.be>
-MAINTENANCE: Maintained
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: ingres_ii
-PRIMARY MAINTAINER: David H�not <henot@php.net>
-MAINTENANCE: Maintained
-STATUS: Experimental
-SINCE: 4.0.2
--------------------------------------------------------------------------------
-EXTENSION: interbase
-PRIMARY MAINTAINER: Jouni Ahto <jouni.ahto@exdec.fi>
-MAINTENANCE: Odd Fixes
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: msql
-MAINTENANCE: Unknown
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: mssql
-PRIMARY MAINTAINER: Frank M. Kromann <fmk@swwwing.com>
-MAINTENANCE: Maintained
-STATUS: Working
-COMMENT: Tested on phpts and isapi versions
--------------------------------------------------------------------------------
-EXTENSION: mysql
-MAINTENANCE: Unknown
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: pgsql
-PRIMARY MAINTAINER: Jouni Ahto <jouni.ahto@exdec.fi>
-MAINTENANCE: Odd fixes
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: sybase
-MAINTENANCE: Unknown
-STATUS: Not Working
--------------------------------------------------------------------------------
-EXTENSION: sybase_ct
-MAINTENANCE: Unknown
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: oci8
-PRIMARY MAINTAINER: Thies C. Arntzen <thies@thieso.net>
-MAINTENANCE: Maintained
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: odbc
-PRIMARY MAINTAINER: Andreas Karajannis <Karajannis@gmd.de>
-MAINTENANCE: Maintained
-STATUS: Working
-COMMENT: Working except for persistent connections
--------------------------------------------------------------------------------
-EXTENSION: oracle
-PRIMARY MAINTAINER: Thies C. Arntzen <thies@thieso.net>
-MAINTENANCE: Maintained
-STATUS: Working
-COMMENT: Using the new OCI8 driver is encouraged where possible.
--------------------------------------------------------------------------------
-
-
-== Other extensions ==
-
--------------------------------------------------------------------------------
-EXTENSION: aspell
-MAINTENANCE: Unknown
-STATUS: Working
-COMMENT: For aspell .27 and greater, check out the pspell extension
--------------------------------------------------------------------------------
-EXTENSION: bcmath
-MAINTENANCE: Unknown
-STATUS: Unknown
--------------------------------------------------------------------------------
-EXTENSION: bz2
-PRIMARY MAINTAINER: Sterling Hughes <sterling@php.net>
-MAINTENANCE: Maintained
-STATUS: Working
-SINCE: 4.0.3
--------------------------------------------------------------------------------
-EXTENSION: calendar
-MAINTENANCE: Unknown
-STATUS: Unknown
--------------------------------------------------------------------------------
-EXTENSION: com
-MAINTENANCE: Unknown
-STATUS: Unknown
--------------------------------------------------------------------------------
-EXTENSION: cpdf
-PRIMARY MAINTAINER: Uwe Steinmann <steinm@php.net>
-MAINTENANCE: Maintained
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: crack
-MAINTENANCE: Unknown
-STATUS: Experimental
-SINCE: 4.0.5
--------------------------------------------------------------------------------
-EXTENSION: curl
-PRIMARY MAINTAINER: Sterling Hughes <sterling@php.net>
-MAINTENANCE: Maintained
-STATUS: Working
-SINCE: 4.0.2
--------------------------------------------------------------------------------
-EXTENSION: cybercash
-PRIMARY MAINTAINER: Evan Klinger <evan715@sirius.com>
-MAINTENANCE: Maintained
-STATUS: Unknown
--------------------------------------------------------------------------------
-EXTENSION: domxml
-PRIMARY MAINTAINER: Uwe Steinmann <steinm@php.net>
-MAINTENANCE: Maintained
-STATUS: Experimental
--------------------------------------------------------------------------------
-EXTENSION: dotnet
-PRIMARY MAINTAINER: Sam Ruby <rubys@us.ibm.com>
-MAINTENANCE: Maintained
-STATUS: Experimental
--------------------------------------------------------------------------------
-EXTENSION: exif
-MAINTENANCE: Unknown
-STATUS: Unknown
-SINCE: 4.0.1
--------------------------------------------------------------------------------
-EXTENSION: fdf
-PRIMARY MAINTAINER: Uwe Steinmann <steinm@php.net>
-MAINTENANCE: Maintained
-STATUS: Unknown
--------------------------------------------------------------------------------
-EXTENSION: ftp
-MAINTENANCE: Unknown
-STATUS: Unknown
--------------------------------------------------------------------------------
-EXTENSION: gd
-PRIMARY MAINTAINER: Rasmus Lerdorf <rasmus@php.net>
-MAINTENANCE: Maintained
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: gettext
-MAINTENANCE: Unknown
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: gmp
-MAINTENANCE: Unknown
-STATUS: Unknown
-SINCE: 4.0.4
--------------------------------------------------------------------------------
-EXTENSION: icap
-MAINTENANCE: Unknown
-STATUS: Obsolete
--------------------------------------------------------------------------------
-EXTENSION: imap
-PRIMARY MAINTAINER: Chuck Hagenbuch <chuck@horde.org>
-MAINTENANCE: Odd Fixes
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: java
-PRIMARY MAINTAINER: Sam Ruby <rubys@us.ibm.com>
-MAINTENANCE: Maintained
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: ldap
-PRIMARY MAINTAINER: Rasmus Lerdorf <rasmus@php.net>
-MAINTENANCE: Odd Fixes
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: mcal
-PRIMARY MAINTAINER: Chuck Hagenbuch <chuck@horde.org>
-MAINTENANCE: Odd Fixes
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: mcrypt
-PRIMARY MAINTAINER: Sascha Schumann <sascha@schumann.cx>
-MAINTENANCE: Maintained
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: mhash
-PRIMARY MAINTAINER: Sascha Schumann <sascha@schumann.cx>
-MAINTENANCE: Maintained
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: muscat
-PRIMARY MAINTAINER: Sam Liddicott <sam@ananova.com>
-MAINTENANCE: Maintained
-STATUS: Working
-SINCE: 4.0.5
-COMMENT: Not tested against windows, only core API completed, rest under development
--------------------------------------------------------------------------------
-EXTENSION: openssl
-PRIMARY MAINTAINER: Wez Furlong <wez@php.net>
-MAINTENANCE: Maintained
-STATUS: Experimental
-SINCE: 4.0.4
--------------------------------------------------------------------------------
-EXTENSION: pcre
-PRIMARY MAINTAINER: Andrei Zmievski <andrei@ispi.net>
-MAINTENANCE: Maintained
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: pdf
-PRIMARY MAINTAINER: Uwe Steinmann <steinm@php.net>
-MAINTENANCE: Maintained
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: pfpro
-PRIMARY MAINTAINER: David Croft <david@infotrek.co.uk>
-MAINTENANCE: Maintained
-STATUS: Working
-SINCE: 4.0.2
--------------------------------------------------------------------------------
-EXTENSION: posix
-PRIMARY MAINTAINER: Kristian K�hntopp <kris@koehntopp.de>
-MAINTENANCE: Maintained
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: printer
-PRIMARY MAINTAINER: Daniel Beulshausen <daniel@php4win.de>
-MAINTENANCE: Maintained
-STATUS: Working
-SINCE: 4.0.4
-COMMENT: Only for Win32
--------------------------------------------------------------------------------
-EXTENSION: pspell
-PRIMARY MAINTAINER: Vlad Krupin <phpdevel@echospace.com>
-MAINTENANCE: Unknown
-STATUS: Unknown
-SINCE: 4.0.2
--------------------------------------------------------------------------------
-EXTENSION: qtdom
-MAINTENANCE: Unknown
-STATUS: Experimental
-SINCE: 4.0.4
--------------------------------------------------------------------------------
-EXTENSION: readline
-MAINTENANCE: Unknown
-STATUS: Unknown
--------------------------------------------------------------------------------
-EXTENSION: recode
-PRIMARY MAINTAINER: Kristian K�hntopp <kris@koehntopp.de>
-MAINTENANCE: Maintained
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: sablot
-PRIMARY MAINTAINER: Sterling Hughes <sterling@php.net>
-MAINTENANCE: Maintained
-STATUS: Experimental
-SINCE: 4.0.3
--------------------------------------------------------------------------------
-EXTENSION: satellite
-PRIMARY MAINTAINER: David Eriksson <eriksson@php.net>
-MAINTENANCE: Odd Fixes
-STATUS: Experimental
-SINCE: 4.0.3
--------------------------------------------------------------------------------
-EXTENSION: session
-PRIMARY MAINTAINER: Sascha Schumann <sascha@schumann.cx>
-MAINTENANCE: Maintained
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: shmop
-PRIMARY MAINTAINER: Unknown
-MAINTENANCE: Unknown
-STATUS: Experimental
-SINCE: 4.0.3
--------------------------------------------------------------------------------
-EXTENSION: snmp
-PRIMARY MAINTAINER: Rasmus Lerdorf <rasmus@php.net>
-MAINTENANCE: Odd Fixes
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: sockets
-PRIMARY MAINTAINER: Chris Vandomelen <chrisv@b0rked.dhs.org>
-MAINTENANCE: Maintained
-STATUS: Experimental
-SINCE: 4.0.2
--------------------------------------------------------------------------------
-EXTENSION: swf
-PRIMARY MAINTAINER: Sterling Hughes <sterling@php.net>
-MAINTENANCE: Maintained
-STATUS: Depreciated (Use the ming swf extension instead)
-COMMENT: Only for Unix (won't change)
--------------------------------------------------------------------------------
-EXTENSION: sysvsem
-MAINTENANCE: Unknown
-STATUS: Unknown
--------------------------------------------------------------------------------
-EXTENSION: sysvshm
-MAINTENANCE: Unknown
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: vpopmail
-MAINTENANCE: Unknown
-STATUS: Experimental
-SINCE: 4.0.5
--------------------------------------------------------------------------------
-EXTENSION: wddx
-PRIMARY MAINTAINER: Andrei Zmievski <andrei@ispi.net>
-MAINTENANCE: Maintained
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: xml
-PRIMARY MAINTAINER: Thies C. Arntzen <thies@thieso.net>
-MAINTENANCE: Maintained
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: yaz
-PRIMARY MAINTAINER: Adam Dickmeiss <adam@indexdata.dk>
-MAINTENANCE: Maintained
-STATUS: Unknown
-SINCE: 4.0.1
--------------------------------------------------------------------------------
-EXTENSION: yp
-MAINTENANCE: Unknown
-STATUS: Unknown
--------------------------------------------------------------------------------
-EXTENSION: zlib
-PRIMARY MAINTAINER: Stefan Roehrich <sr@linux.de>
-MAINTENANCE: Maintained
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: zziplib
-PRIMARY MAINTAINER: Sterling Hughes <sterling@php.net>
-MAINTENANCE: Maintained
-STATUS: Experimental
-SINCE: 4.0.5
--------------------------------------------------------------------------------
-# iptc?
View
406 INSTALL
@@ -1,406 +0,0 @@
-Installation Instructions for PHP 4.0
--------------------------------------
-
-For the impatient here is a quick set of steps that will build PHP as
-first a dynamic Apache module (DSO) for Apache 1.3.x with MySQL support
-and then a static module. A more verbose explanation follows.
-
-For installing PHP on other web servers, refer to one of the following
-files:
-
- sapi/aolserver/README
- sapi/pi3web/README
- sapi/servlet/README
- sapi/thttpd/README
- README.Zeus
-
-Note! Only install either the static module or the dynamic one. Do not
-install both.
-
-Note 2! If you are recompiling PHP to add new extensions or upgrading
-something like GD, remove the config.cache file before you re-run
-configure.
-
-Note 3! If you are on Linux and have installed shared libraries, make
-sure the location of these shared libraries are listed in your
-/etc/ld.so.conf file. For example, if you have:
-
- /usr/local/lib/mysql/libmysqlclient.so
-
-Make sure /etc/ld.so.conf contains:
-
- /usr/local/lib/mysql
-
-Then run ldconfig.
-
-If you want both PHP 3 and 4 modules in the same Apache server, check the
-bottom of this file for instructions.
-
-INSTALLATION WITH THE ZEUS WEB SERVER:
---Please see the 'README.Zeus' file included in this distribution
-
-
-QUICK INSTALL (DSO)
-
-For this to work your Apache httpd must have mod_so enabled.
-Check using httpd -l. You should see something like:
-
-Compiled-in modules:
- http_core.c
- mod_so.c
-
-Chances are you will see a lot more modules than these two. That's ok,
-as long as mod_so.c shows up you can proceed with the following steps:
-
-$ gunzip -c php-4.0.x.tar.gz | tar xf -
-$ cd php-4.0.x
-$ ./configure --with-mysql --with-apxs
-$ make
-$ make install
-
-If you get an error telling you that the apxs script could not be found,
-look for it on your system and if you find it, provide the full path to it
-as: --with-apxs=/path/to/apxs
-
-Next you must copy php.ini-dist to the appropriate place (normally
-/usr/local/lib/php.ini) and edit it as necessary to set PHP options.
-
-The only thing left to do is to edit your httpd.conf file and make sure the
-PHP 4 mime type is there and uncommented. You need a line that looks like
-this:
-
- AddType application/x-httpd-php .php
-
-Then restart your server (apachectl restart) and you should be able to
-serve up PHP files now. Make a test file called test.php and put some
-PHP tags in it. Like <?phpinfo()?>, for example.
-
-
-QUICK INSTALL (Static)
-
-$ gunzip -c apache_1.3.x.tar.gz | tar xf -
-$ cd apache_1.3.x
-$ ./configure
-$ cd ..
-
-$ gunzip -c php-4.0.x.tar.gz | tar xf -
-$ cd php-4.0.x
-$ ./configure --with-mysql --with-apache=../apache_1.3.x --enable-track-vars
-$ make
-$ make install
-
-$ cd ../apache_1.3.x
-$ ./configure --prefix=/www --activate-module=src/modules/php4/libphp4.a
- (The above line is correct! Yes, we know libphp4.a does not exist at this
- stage. It isn't supposed to. It will be created.)
-$ make
- (you should now have an httpd binary which you can copy to your Apache bin dir if
- is is your first install then you need to "make install" as well)
-$ cd ../php-4.0.x
-$ cp php.ini-dist /usr/local/lib/php.ini
-You can edit /usr/local/lib/php.ini file to set PHP options.
-Edit your httpd.conf or srm.conf file and add:
- AddType application/x-httpd-php .php
-
-
-VERBOSE INSTALL
-
-Chances are you are reading this because the quick install steps above
-did not work for you. If this is the case, congratulations, you are
-among the elite few that actually reads documentation. It really is
-not a difficult install and once you have done it once you will fly
-through it.
-
-Installing PHP can be done in four simple steps:
-
-1. Unpack your distribution file.
-
- You will have downloaded a file named something like php-4.0.x.tar.gz.
- Unzip this file with a command like: gunzip php-4.0.x.tar.gz
-
- Next you have to untar it with: tar -xvf php-4.0.x.tar
-
- This will create a php-4.0.x directory. cd into this new directory.
-
-2a. Configure PHP (Dynamic Module) - Skip to 2b if you wish to build
- a static module
-
- You now have to choose the options you would like. There are quite
- a few of them. To see a list, type: ./configure --help
-
- The only options that you are likely to want to use are the ones in
- the last section entitled, "--enable and --with options recognized:"
-
- A popular choice is to build the Apache module version. In order to
- build PHP as a dynamic module for Apache-1.3.x you have to first have
- Apache installed. Assuming Apache is already installed, make sure
- the shared object module is enabled. To check this, type: httpd -l
- You should see something like:
-
- Compiled-in modules:
- http_core.c
- mod_so.c
-
- You will most likely have a lot more modules than what is shown here.
- As long as mod_so.c shows up in the list, PHP should be happy.
-
- Now, type: ./configure --with-mysql --with-apxs
-
- If you get an error telling you that the apxs script could not be found,
- look for it on your system and if you find it, provide the full path to it
- as: --with-apxs=/path/to/apxs
-
- You might also want other flags on this configure line. --with-mysql
- is just an example.
-
- There are a few things that can go wrong during this configure step.
- The most common is that you have asked for an option and that the
- configure script can not find the files required to enable this
- option in PHP. Chances are you can provide the full path to the
- base directory under which the related files were installed. For
- example, if you have installed the GD library in /opt/gd which means
- that /opt/gd/include has your GD header files and /opt/gd/lib contains
- your GD library files, you would use --with-gd=/opt/gd
-
- Skip to step 3 for compilation and installation instructions.
-
-2b. Configure PHP (Static Module) - Skip if you performed 2a
-
- You now have to choose the options you would like. There are quite
- a few of them. To see a list, type: ./configure --help
-
- The only options that you are likely to want to use are the ones in
- the last section entitled, "--enable and --with options recognized:"
-
- A popular choice is to build the Apache module version. You need
- to know where the source code directory for your Apache server is
- located. Then use an option like: --with-apache=/usr/local/src/apache
- if that is your Apache source code directory. If you only specify
- --with-apache, then it will default to look for your Apache source
- in /usr/local/etc/httpd.
-
- NOTE: The directory you specify should be the top-level of the
- unpacked Apache (or Stronghold) distribution. The configure program
- will automatically look for httpd.h in different directories under that
- location depending on which version of Apache, including Stronghold,
- you are running.
-
- For MySQL support, since newer versions of MySQL installs its various
- components under /usr/local, this is the default. If you have
- changed the location you can specify it with: --with-mysql=/opt/local
- for example. Otherwise just use: --with-mysql
-
- *NOTE* If you are using Apache 1.3b6 or later, you should run the
- Apache Configure script at least once before compiling PHP. It
- doesn't matter how you have Apache configured at this point.
-
- Skip to step 3b at this point.
-
-3. Compile and install the files. Simply type: make install
-
-3a. Dynamic Module Installation
-
- Nothing else is needed here. Proceed to step 4a.
-
-3b. Static Module Installation
-
- For the Apache module version this will copy the appropriate files
- to the src/modules/php4 directory in your Apache distribution if
- you are using Apache 1.3.x. If you are still running Apache 1.2.x
- these files will be copied directly to the main src directory.
-
- For Apache 1.3b6 and later, you can use the new APACI configuration
- mechanism. To automatically build Apache with PHP support, use:
-
- cd apache_1.3.x
- ./configure --prefix=/<path>/apache \
- --activate-module=src/modules/php4/libphp4.a
- make
- make install
-
- If you do not wish to use this new configuration tool, the old
- install procedure (src/Configure) will work fine.
-
- If you are using the old Apache ./Configure script, you will have to
- edit the Apache src/Configuration file manually. If you do not have
- this file, copy Configuration.tmpl to Configuration.
-
- For Apache 1.3.x add:
-
- AddModule modules/php4/libphp4.a
-
- For Apache 1.3.x don't do anything else. Just add this line and then
- run "./Configure" followed by "make".
-
- For Apache 1.2.x add:
-
- Module php4_module mod_php4.o
-
- For Apache 1.2.x you will also have to look in the libphp4.module file,
- which was copied to the src directory. The EXTRA_LIBS line in the Apache
- Configuration file needs to be set to use the same libs as specified on
- the LIBS line in libphp4.module. You also need to make sure to add
- "-L." to the beginning of the EXTRA_LIBS line.
-
- So, as an example, your EXTRA_LIBS line might look like:
-
- EXTRA_LIBS=-L. -lphp4 -lgdbm -ldb -L/usr/local/mysql/lib -lmysqlclient
-
- NOTE: You should not enclose the EXTRA_LIBS line in double-quotes, as it
- is in the libphp4.module file.
-
- Also, look at the RULE_WANTHSREGEX setting in the libphp4.module file
- and set the WANTHSREGEX directive accordingly in your Configuration file.
- This last step applies to versions of Apache prior to 1.3b3.
-
- This is a bit of a hassle, but should serve as incentive to move to
- Apache 1.3.x where this step has been eliminated.
-
- Once you are satisfied with your Configuration settings, type: ./Configure
- If you get errors, chances are that you forgot a library or made a typo
- somewhere. Re-edit Configuration and try again. If it goes well,
- type: make
-
- Assuming it compiles without errors, proceed to step 4b.
-
-4a. Setting up the server. (Dynamic Module)
-
- The make install command in step 3 should have done most of your
- work for you. It actually edits your httpd.conf file and tries to
- enable the dynamic PHP module. To verify this, look for a line that
- looks like this:
-
- LoadModule php4_module libexec/libphp4.so
-
- The actual path before the libphp4.so part might differ slightly. This
- is likely fine. If you are paranoid you can examine the output from the
- make install step to see where the libphp4.so file was actually put and
- place the full path to this file on this LoadModule line.
-
- If somewhere in your httpd.conf file you have a ClearModuleList line
- then you also need this line:
-
- AddModule mod_php4.c
-
- And finally you need to tell Apache which file extension should trigger
- PHP. You do this by creating a special mime type and associating it
- with an extension. We suggest using:
-
- AddType application/x-httpd-php .php
-
- You are however free to use any extension you wish, including .html.
-
- Note! If a line has a # at the beginning, then it is commented out
- and you need to remove the # for that line to take effect.
-
- Finally you need to copy php.ini-dist to the appropriate place
- (normally /usr/local/lib/php.ini) and edit if necessary.
-
- Once you have made these changes you should be ready to restart your
- server and try it out. Type: apachectl restart
-
-4b. Setting up the server. (Static Module)
-
- You should now have a new httpd binary. Shut down your existing server,
- if you have one, and copy this new binary overtop of it. Perhaps make
- a backup of your previous one first. Then edit your conf/httpd.conf file
- and add the line:
-
- AddType application/x-httpd-php .php
-
- There is also an interesting feature which can be quite instructive and
- helpful while debugging. That is the option of having colour syntax
- highlighting. To enable this, add the following line:
-
- AddType application/x-httpd-php-source .phps
-
- Any file ending in .phps will now be displayed with full colour syntax
- highlighting instead of being executed.
-
- Note that on some older server setups, the AddType lines are in the
- conf/srm.conf file instead of conf/httpd.conf.
-
- Note! If a line has a # at the beginning, then it is commented out
- and you need to remove the # for that line to take effect.
-
- When you are finished making changes to your httpd.conf file, you need
- to copy php.ini-dist to the appropriate place (normally
- /usr/local/lib/php.ini) and edit if necessary. You can then
- start up your server.
-
-5. Testing it all worked
-
- Create a test file named test.php in your web tree somewhere and
- put some test PHP tags in it. <?phpinfo()?> is a good first test.
- This tag tells PHP to do a braindump and tells you all sorts of things
- about itself.
-
-
-WHY DISABLING -fPIC WORKS ON LINUX
-
- From: Martin v. Loewis <martin@loewis.home.cs.tu-berlin.de>
- To: glibc-linux@ricardo.ecn.wfu.edu
- Subject: Re: Shared library -shared vs. -fpic
-
- [In reply to Kaz Kylheku <kaz@ashi.footprints.net>]
-
- > PIC stands for Position-Independent Code.
-
- Correct.
-
- > Code isn't position-independent (or ``relocatable'') cannot be
- > loaded at an arbitrary address;
-
- Wrong.
-
- > it requires some references to be patched at load time.
-
- Correct.
-
- > Shared libraries need to be relocatable because it's not known
- > beforehand what address they will be loaded at
-
- Correct, depending on the meaning of "relocatable". PIC code typically
- does not contain relocations; that's why its position-independent.
-
- > Just because you don't specify -fPIC doesn't mean that the compiler
- > won't emit position-independent code; the option prevents it from
- > emitting position-dependent code in situations where it otherwise
- > would.
-
- Correct. However, a non-trivial shared library typically won't be
- position-independent unless explicitly compiled with
- -fPIC. Linux/glibc indeed does not require a shared library to be
- position-independent; instead, it will perform the relocations in the
- binary, even if they refer to code pages. As a result, those relocated
- pages won't be shared across processes, anymore.
-
- Regards,
- Martin
-
-USING PHP 3 AND PHP 4 AS CONCURRENT APACHE MODULES
-
- Recent operating systems provide the ability to perform versioning and
- scoping. This features make it possible to let PHP 3 and PHP 4 run as
- concurrent modules in one Apache server.
-
- This feature is known to work on the following platforms:
-
- - Linux with recent binutils (binutils 2.9.1.0.25 tested)
- - Solaris 2.5 or better
- - FreeBSD (3.2, 4.0 tested)
- - IRIX64 6.5
-
- To enable it, configure PHP 3 and PHP 4 to use APXS (--with-apxs) and the
- necessary link extensions (--enable-versioning). Otherwise, all standard
- installations instructions apply. For example:
-
- $ ./configure \
- --with-apxs=/apache/bin/apxs \
- --enable-versioning \
- --with-mysql \
- --enable-track-vars
-
- If this also works on your platform or if you know a way to do it, please
- report it to our bug database at http://bugs.php.net
-
View
75 LICENSE
@@ -1,75 +0,0 @@
---------------------------------------------------------------------
- The PHP License, version 2.02
-Copyright (c) 1999, 2000 The PHP Group. All rights reserved.
---------------------------------------------------------------------
-
-Redistribution and use in source and binary forms, with or without
-modification, is permitted provided that the following conditions
-are met:
-
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- 2. Redistributions in binary form must reproduce the above
- copyright notice, this list of conditions and the following
- disclaimer in the documentation and/or other materials provided
- with the distribution.
-
- 3. The name "PHP" must not be used to endorse or promote products
- derived from this software without prior permission from the
- PHP Group. This does not apply to add-on libraries or tools
- that work in conjunction with PHP. In such a case the PHP
- name may be used to indicate that the product supports PHP.
-
- 4. The PHP Group may publish revised and/or new versions of the
- license from time to time. Each version will be given a
- distinguishing version number.
- Once covered code has been published under a particular version
- of the license, you may always continue to use it under the
- terms of that version. You may also choose to use such covered
- code under the terms of any subsequent version of the license
- published by the PHP Group. No one other than the PHP Group has
- the right to modify the terms applicable to covered code created
- under this License.
-
- 5. Redistributions of any form whatsoever must retain the following
- acknowledgment:
- "This product includes PHP, freely available from
- http://www.php.net/".
-
- 6. The software incorporates the Zend Engine, a product of Zend
- Technologies, Ltd. ("Zend"). The Zend Engine is licensed to the
- PHP Association (pursuant to a grant from Zend that can be
- found at http://www.php.net/license/ZendGrant/) for
- distribution to you under this license agreement, only as a
- part of PHP. In the event that you separate the Zend Engine
- (or any portion thereof) from the rest of the software, or
- modify the Zend Engine, or any portion thereof, your use of the
- separated or modified Zend Engine software shall not be governed
- by this license, and instead shall be governed by the license
- set forth at http://www.zend.com/license/ZendLicense/.
-
-
-
-THIS SOFTWARE IS PROVIDED BY THE PHP DEVELOPMENT TEAM ``AS IS'' AND
-ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
-PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE PHP
-DEVELOPMENT TEAM OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
-INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
-STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
-OF THE POSSIBILITY OF SUCH DAMAGE.
-
---------------------------------------------------------------------
-
-This software consists of voluntary contributions made by many
-individuals on behalf of the PHP Group.
-
-The PHP Group can be contacted via Email at group@php.net.
-
-For more information on the PHP Group and the PHP project,
-please see <http://www.php.net>.
View
62 Makefile.in
@@ -1,62 +0,0 @@
-
-ZEND_DIR = $(srcdir)/Zend
-SUBDIRS = Zend main ext sapi $(TSRM_DIR) $(REGEX_DIR) . $(PEAR_DIR)
-
-LTLIBRARY_NAME = libphp4.la
-LTLIBRARY_SOURCES = stub.c
-
-LTLIBRARY_DEPENDENCIES = \
- Zend/libZend.la \
- sapi/$(PHP_SAPI)/libsapi.la \
- main/libmain.la \
- $(REGEX_LIB) \
- $(EXT_LTLIBS) \
- $(TSRM_LIB)
-
-LTLIBRARY_LDFLAGS = -rpath $(phptempdir) $(EXTRA_LDFLAGS) $(LDFLAGS) $(PHP_RPATHS)
-LTLIBRARY_LIBADD = $(LTLIBRARY_DEPENDENCIES) $(EXTRA_LIBS)
-
-PROGRAM_NAME = php
-PROGRAM_SOURCES = stub.c
-PROGRAM_LDADD = libphp4.la $(EXT_PROGRAM_LDADD)
-PROGRAM_LDFLAGS = -export-dynamic
-PROGRAM_DEPENDENCIES = $(PROGRAM_LDADD)
-
-targets = $(LTLIBRARY_NAME) $(PHP_PROGRAM)
-
-install_targets = install-sapi install-modules
-
-include $(top_srcdir)/build/rules.mk
-include $(top_srcdir)/build/library.mk
-include $(top_srcdir)/build/program.mk
-
-install-sapi:
- @$(LIBTOOL) --silent --mode=install cp libphp4.la $(phptempdir)/libphp4.la >/dev/null 2>&1
- -@$(mkinstalldirs) $(INSTALL_ROOT)$(bindir)
- -@if test ! -r $(phptempdir)/libphp4.$(SHLIB_SUFFIX_NAME); then \
- for i in 0.0.0 0.0 0; do \
- if test -r $(phptempdir)/libphp4.$(SHLIB_SUFFIX_NAME).$$i; then \
- $(LN_S) $(phptempdir)/libphp4.$(SHLIB_SUFFIX_NAME).$$i $(phptempdir)/libphp4.$(SHLIB_SUFFIX_NAME); \
- break; \
- fi; \
- done; \
- fi
- $(INSTALL_IT)
-
-install-modules:
- @test -d modules && \
- $(mkinstalldirs) $(INSTALL_ROOT)$(moduledir) && \
- echo "installing shared modules into $(moduledir)" && \
- rm -f modules/*.la && \
- cp modules/* $(INSTALL_ROOT)$(moduledir) >/dev/null 2>&1 || true
-
-install-tester:
- -$(mkinstalldirs) $(datadir)
- $(INSTALL) -m 755 $(srcdir)/run-tests.php $(INSTALL_ROOT)$(datadir)
-
-install-pear: install-modules
- (cd pear && $(MAKE) install)
-
-install-su: install-pear install-tester
-
-.NOEXPORT:
View
1,592 NEWS
@@ -1,1592 +0,0 @@
-PHP 4.0 NEWS
-|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-?? ??? 200?, Version 4.0.7-dev
-- Added vprintf() and vsprintf() functions that allow passing all arguments
- after format as an array. (Andrei)
-- Added support for GD2 image type for ImageCreateFromString() (Jani)
-- addcslashes now warns when charlist is invalid. The returned string
- remained the same (Jeroen)
-- Added optional extra argument to gmp_init(). The extra argument
- indicates which number base gmp should use when converting a
- string to the gmp-number. (Troels)
-- Added the Cyrus-IMAP extension, which allows a direct interface to Cyrus'
- more advanced capabilities. (Sterling)
-- Enhance read_exif_data() to support multiple comment tags (Rasmus)
-- Fixed a crash bug in array_map() when NULL callback was passed in. (Andrei)
-- Change from E_ERROR to E_WARNING in the exif extension (Rasmus)
-- New pow() implementation, which returns an integer when possible,
- and warnings on wrong input (jeroen)
-- Added optional second parameter to trim, chop and ltrim. You can
- now specify which characters to trim (jeroen)
-- Hugely improved the performance of the thread-safe version of PHP, especially
- under Windows (Andi & Zeev)
-- Improved request-shutdown performance significantly (Andi & Zeev, Zend
- Engine)
-- Added a few new math functions. (Jesus)
-- Bump bundled expat to 1.95.2 (Thies)
-- Improved the stability of OCIPlogon() after a database restart. (Thies)
-- Fixed __FILE__ in the CGI & Java servlet modes when used in the main script.
- It only worked correctly in included files before this fix (Andi)
-- Improved the Zend hash table implementation to be much faster (Andi, Zend
- Engine)
-- Updated PHP's file open function (used by include()) to check in the calling
- script's directory in case the file can't be found in the include_path (Andi)
-- Fixed a corruption bug that could cause constants to become corrupted, and
- possibly prevent resources from properly being cleaned up at the end of
- a request (Zeev)
-- Added optional use of Boyer-Moore algorithm to str_replace() (Sascha)
-- Fixed and improved shared-memory session storage module (Sascha)
-- Add config option (always_populate_raw_post_data) which when enabled
- will always populate $HTTP_RAW_POST_DATA regardless of the post mime
- type (Rasmus)
-- Added support for socket and popen file types to ftp_fput (Jason)
-- Fixed various memory leaks in the LDAP extension (Stig Venaas)
-- Improved interactive mode - it is now available in all builds of PHP, without
- any significant slowdown (Zeev, Zend Engine)
-- Fixed crash in iptcparse() if the supplied data was bogus. (Thies)
-- Fixed return value for a failed snmpset() - now returns false (Rasmus)
-- Added hostname:port support to snmp functions (nbougues@axialys.net, Rasmus)
-- Added fdf_set_encoding() function (Masaki YATSU, Rasmus)
-- Reversed the destruction-order of resources. This fixes the reported OCI8
- "failed to rollback outstanding transactions!" message (Thies, Zend Engine)
-- Added option for returning XMLRPC fault packets. (Matt Allen, Sascha
- Schumann)
-- Improved range() function to support range('a','z') and range(9,0) types of
- ranges. (Rasmus)
-- Added getmygid() and safe_mode_gid ini directive to allow safe mode to do
- a gid check instead of a uid check. (James E. Flemer, Rasmus)
-- Made assert() accept the array(&$obj, 'methodname') syntax. (Thies)
-- Made sure that OCI8 outbound variables are always zero-terminated. (Thies)
-- Fixed a bug that allowed users to spawn processes while using the 5th
- parameter to mail(). (Derick)
-- Added nl_langinfo() (when OS provides it) that returns locale.
-- Fixed a major memory corruption bug in the thread safe version. (Zeev)
-- Fixed a crash when using the CURLOPT_WRITEHEADER option. (Sterling)
-- Added optional suffix removal parameter to basename(). (Hartmut)
-- Added new parameter UDM_PARAM_VARDIR ha in Udm_Set_Agent_Param() function to
- support alternative search data directory. This requires mnogoSearch 3.1.13
- or later.
-- Fixed references in sessions. This doesn't work when using the WDDX
- session-serializer. Also improved speed of sessions. (Thies)
-- Added new experimental module pcntl (Process Control). (Jason)
-- Fixed a bug when com.allow_dcom is set to false. (phanto)
-- Added a further parameter to the constructor to load typelibs from file when
- instantiating components (e.g. DCOM Components without local registration).
- (phanto)
-- Added the possibility to specify typelibs by full name in the typelib file
- (Alan Brown)
-- Renamed the ZZiplib extension to the Zip extension, function names have also
- changed accordingly, functionality, has stayed constant. (Sterling)
-- Made the length argument (argument 2) to pg_loread() optional, if not
- specified data will be read in 1kb chunks. (Sterling)
-- Added a third argument to pg_lowrite() which is the length of the data to
- write. (Sterling)
-- Added the CONNECTION_ABORTED, CONNECTION_TIMEOUT and CONNECTION_NORMAL
- constants. (Zak)
-- Assigning to a string offset beyond the end of the string now automatically
- increases the string length by padding it with spaces, and performs the
- assignment. (Zeev, Zend Engine)
-- Added warnings in case an uninitialized string offset is read. (Zeev, Zend
- Engine)
-- Fixed a couple of overflow bugs in case of very large negative integer
- numbers. (Zeev, Zend Engine)
-- Fixed a crash bug in the string-offsets implementation (Zeev, Zend Engine)
-- Improved the implementation of parent::method_name() for classes which use
- run-time inheritance. (Zeev, Zend Engine)
-- Added 'W' flag to date() function to return week number of year using ISO
- 8601 standard. (Colin)
-- Made the PostgreSQL driver do internal row counting when iterating through
- result sets. (gvz@2scale.net)
-- Updated ext/mysql/libmysql to version 3.23.39; Portability fixes, minor
- bug fixes. (tim@mysql.com)
-- Added get_defined_constants() function to return an associative array of
- constants mapped to their values. (Sean)
-- New mailparse extension for parsing and manipulating MIME mail. (Wez)
-- Define HAVE_CONFIG_H when building standalone DSO extensions. (Stig)
-- Added the 'u' modifier to printf/sprintf which prints unsigned longs.
- (Derick)
-- Improved IRIX compatibility. (Sascha)
-- Fixed crash bug in bzopen() when specifying an invalid file. (Andi)
-- Fixed bugs in the mcrypt extension that caused crashes. (Derick)
-- Added the IMG_ARC_ROUNDED option for the ImageFilledArc() function, which
- specified that the drawn curve should be rounded. (Sterling)
-- Updated the sockets extension to use resources instead of longs for the
- socket descriptors. The socket functions have been renamed to conform with
- the PHP standard instead of their C counterparts. The sockets extension is
- now usable under Win32. (Daniel)
-- Added disk_total_space() to return the total size of a filesystem.
- (Patch from Steven Bower)
-- Renamed diskfreespace() to disk_free_space() to conform to established
- naming conventions. (Jon)
-- Fixed #2181. Now zero is returned instead of an unset value for
- 7-bit encoding and plain text body type. (Vlad)
-- Fixed a bug in call_user_*() functions that would not allow calling
- functions/methods that accepted parameters by reference. (Andrei)
-- Added com_release($obj) and com_addref($obj) functions and the related class
- members $obj->Release() and $obj->AddRef() to gain more control over the used
- COM components. (phanto)
-- Added an additional parameter to dotnet_load to specify the codepage (phanto)
-- Added peak memory logging. Use --enable-memory-limit to create a new Apache
- 1.x logging directive "{mod_php_memory_usage}n" which will log the peak
- amount of memory used by the script. (Thies)
-- Made fstat() and stat() provide identical output by returning a numerical and
- string indexed array. (Jason)
-- Fixed memory leak upon re-registering constants. (Sascha, Zend Engine)
-
-23 Jun 2001, Version 4.0.6
-- Fixed memory fragmention problem which could lead to web server processes
- growing much more than they should. (Andi, Zend Engine)
-- Made $HTTP_SESSION_VARS['foo'] and $foo be references to the same value
- when register_globals is on. (Andrei)
-- Fixed disk_free_space() and disk_total_space() under FreeBSD. (Jon)
-- Fixed readfile/passthru losing resources during connection abort (Sascha)
-- Fixed bug in the mcrypt extension that caused segfaults when using a key
- that is too large for the used algorithm, and a bug that caused
- mcrypt_generic() to segfault PHP (Derick)
-- Fixed getopt so that it accepts command line arguments in the form
- -<opt><arg> and -<opt> <arg>. (Jmoore)
-- Fixed race in writing session files (Sascha)
-- Fixed a possible crash in the PHP CGI when no input file is
- specified (Zeev)
-- Added is_callable() function that can be used to find out whether
- its argument is a valid callable construct. (Andrei)
-- Fixed a rare possible crash when generating extended information. (Dmitri
- Dmitrienko, Zend Engine)
-- Improved virtual() to support PHP-enabled URIs. (Zeev)
-- Fixed undefined behavior when using floating point keys in array()
- expressions. (Zeev, Zend Engine)
-- Fixed a possible crash in case of parse errors in include files or eval
- statements. (Zeev, Zend Engine)
-- Added --with-layout configure option. (Stig)
-- Improved interactive mode - supports function calls, and works in
- multithreaded builds. (Zeev, Zend Engine)
-- Fixed a crash bug in interactive mode. (Zeev, Zend Engine)
-- Added pg_last_notice() function. (Rasmus from suggestion by Dirk@rackspace.com)
-- Fixed a bug in preg_split() that would incorrectly limit the number of
- results when used along with PREG_SPLIT_NO_EMPTY flag. (Andrei)
-- Added connection error support to mysql_error() and mysql_errno(). (Jason)
-- Added support to getimagesize to return dimensions of BMP and PSD
- files. (Derick)
-- Added heuristic to kill stale IRC connections, message scanner caching, and
- nickname escaping to IRCG, suppress option to ircg_msg(), and statistics to
- IRCG phpinfo() output. (Sascha)
-- Added Japanese multibyte string functions support. (Rui)
-- Added Mac OS X "\r" line ending support. (Andi, Zend Engine)
-- Fixed a bug regarding the $PHP_SELF being incorrectly registered when
- force-cgi-redirect was not enabled. (Sterling)
-- pfpro extension now supports version 3 of the Verisign SDK. (John Donagher)
-- Udm_Cat_List and Udm_Cat_Path functions has been added.
-- Added key_exists() to check if a given key or index exists in an
- array or object. (David Croft)
-- Modify the cURL extension to compile only with the latest cURL release.
- Backwards compatibility with regards to the extension api has not been
- broken. (Sterling)
-- Added the ability to use user-defined callbacks with cURL. (Sterling)
-- Added the SSL_VERIFYPEER, CAINFO, MAXREDIRS, FILETIME, RANDOM_FILE, EGDSOCKET
- and CONNECTTIMEOUT options to curl_setopt(). (Sterling)
-- Added support for persistent connections with cURL. (Sterling)
-- Fixed a problem in cURL with file descriptors being allocated, but never
- closed. (Sterling)
-- Fixed interactive mode (-a). It works again with the same limitations it
- has always had. (Andi, Zend Engine)
-- Improved memory manager to use less memory and provide better memory overflow
- detection abilities in debug mode. (Andi, Zend Engine)
-- Fixed resource leaks when resources were being cast to numbers. (Zeev, Zend
- Engine)
-- Fixed foreach() to not crash when being sent an invalid argument. (Andi, Zend
- Engine)
-- Fixed a bug in opendir() under Windows when trying to open a non-exisiting
- directory. (Andi)
-- Fixed popen() and the exec family under Win32 (Unable to fork issue). (Daniel)
-- Make the printf family of functions binary clean. (Rasmus)
-- Fixed WDDX serialization to HTML-escape key/variable names so as not to
- break the XML packet. (Andrei)
-- Made WDDX extension enabled by default. (Andrei)
-- Added -C command-line option to avoid chdir to the script's directory. (Stig)
-- Fixed a bug with /e modifier in preg_replace(), that would not correctly
- replace two-digit references if single digit references were present
- before them. This fixed bug #10218. (Andrei)
-- Added temporary LOB support in OCI8. (Patch by David Benson)
-- Fixed crash in pathinfo()
-- OCI8 now supports binding of collections. (Patch by Andy Sautins
- <asautins@veripost.net>)
-- Added GD 2.0.1 support for truecolor and alpha channels, plus some other gd
- functions, both old and new - see docs for more info. (Wez)
-- Added S/MIME sign/verify encrypt/decrypt functions to openssl extension,
- along with some other certificate manipulation and interrogation functions.
- See docs for more info. (Wez)
-- printf argnum (parameter swapping) support. (Morten Poulsen, Rasmus)
-- Add DIRECTORY_SEPARATOR constant ('/' on UNIX, '\' on Windows). (Stig)
-- Added small change to php_odbc module, to check for failed SQLDisconnects
- and to close any outstanding transactions if the call fails, then disconnect
- again. (lurcher)
-- Modified get_parent_class() and get_class_methods() to accept a class name as
- well as a class instance. (Andrei, Zend Engine)
-- Added support for UNC style paths. (\\server\share\file,
- //server/share/file). (Daniel, TSRM)
-- Added dbx module (database abstraction) to the repository. (Marc)
-- Using ITypeInfo instead of IDispatch if possible. This makes DCOM calls
- and even COM calls much faster.
- All ini settings are now prefixed by 'com.'.
- Now you need not provide a path to the file containing the typelib, you can
- also provide the GUID of the TypeLib - entry or an IID for preloading
- type - information. (phanto)
-- Rewrite of domxml. It's now mostly DOM Level 2 conform. (Uwe)
-- Added array_map() function that applies a callback to the elements
- of given arrays and returns the result. It can also be used with a
- null callback to transpose arrays. (Andrei)
-- Added array_filter(), which allows filtering of array elements via
- the specified callback. (Andrei)
-- Fixed all relevant array functions to avoid moving the internal array
- pointer during operations. (Andrei)
-- Added mysql_unbuffered_query(), which is useful for very large result sets.
- (Zeev)
-
-30 Apr 2001, Version 4.0.5
-- Added new php.ini directive: arg_separator.input which is used to tell
- PHP which characters are considered as argument separators in URLs.
- Renamed php.ini directive: arg_separator -> arg_separator.output (Jani)
-- Added FastCGI SAPI module. (Ben Mansell)
-- Added array_reduce(), which allows iterative reduction of an array
- to a single value via a callback function. (Andrei)
-- The imageloadfont function of the gd extension should be not platform
- dependent after this fix. (alex@zend.com)
-- Fixed a compatibility problem in some file functions (fgets, fputs, fread,
- fwrite). The ANSI standard says that if a file is opened in read/write
- mode, fseek() should be called before switching from reading to writing
- and vice versa. (alex@zend.com)
-- Fixed argument checking for call_user_func* functions and allowed
- specifying array($obj, 'method') syntax for call_user_func_array. (Andrei)
-- Fixed parent::method() to also work with runtime bindings.
- (Zeev, Zend Engine)
-- Implemented high-performance zlib-based output compression - see
- zlib.output_compression INI directive. (Zeev)
-- Improved ob_gzhandler() to support chunked output buffering - it's
- recommended to use it with 4KB chunks. (Zeev)
-- Fixed chunked output buffering. (Zeev)
-- Forced call_user_method() and call_user_method_array() to take the
- object argument by reference. (Andrei)
-- Fixed binding of ROWIDs in OCI8. (Thies)
-- Added PEAR/Cache as a generic Caching System. (Sebastian, PEAR/Cache)
-- Added IMAP quota support (imap_set_quota, imap_get_quota), enabled/added via
- c-client2000. (kalowsky)
-- Upgraded PCRE to version 3.4. (Andrei)
-- Added array_search which works similar to in_array but returns
- the key instead of a boolean. (jason@php.net)
-- Fixed pgsql transaction support. (Stig, PEAR/DB)
-- Added new object VARIANT() to encapsulate values for use with
- the COM and DOTNET module. Therefore it is now possible to pass
- values by reference, convert php values to extended variant types (currency,
- date, idispatch, iunknown, ...) and define the codepage that should
- be used for unicode - conversion.
-- Improved overall speed of IRCG, added URL handling to message scanner.
- (Sascha)
-- Fixed some modules to allow using output-buffering. (Thies)
-- Added the chroot() function. (Derick)
-- PostgreSQL now does a rollback at the end of a request on every
- persistent connection. This is done by doing an "empty" transaction
- on the connection. This was advised by someone from the PostgreSQL
- core-team. (Thies)
-- Fixed PostgeSQL pg_connect() bug. We would sometimes close the default
- link by accident. (Patch by: aja@nlgroup.ca)
-- Improved OCI8 dead-session detection. (Patch by: George Schlossnagle)
-- Fixed get_meta_tags() multiline bug #4556. (Sean)
-- Prefer random() over *rand48(). (JimJag)
-- Sped up WDDX serialization 2x. (Andrei)
-- Added a new parameter to mail() which appends aditional command line
- parameters to the mail program. (Derick)
-- Added Udm_Clear_Search_Limits mnoGoSearch extension function. (gluke)
-- Fixed mnogosearch protos. Fixed mnogosearch functions return values.
- A bug with capital letters break search has been fixed. (gluke)
-- Static methods can now be called via call_user_method_* functions, e.g.
- call_user_method('method', 'class'), and also array('class', 'method')
- constructs (for array_walk(), for example). (Andrei, Zend Engine)
-- microtime() under Windows now returns accurate values. (James)
-- Added PREG_SPLIT_DELIM_CAPTURE flag to preg_split() that allows for Perl-like
- functionality of capturing parenthesized delimiter expression. (Andrei)
-- Fixed strip_tags() to not strip a lone > character. (Rasmus)
-- When using the ob_gzhandler() PHP now automagically also sets the
- Content-Lengh correctly which enables browsers to use the HTTP
- Keep-Alive feature. (Thies)
-- Improved handling of preg_replace() /F modifier so that it's possible to
- specify array($obj, 'method') construct as a replacement function. (Andrei)
-- Added mysql_get_client_info(), mysql_get_server_info(),
- mysql_get_proto_info(), and mysql_get_host_info() functions. (Sean)
-- Major change of the php pdf api. It could break some functions though
- backwards compatibility was tried to maintain. Adding some still
- missing functions as well. (Uwe)
-- Added mnoGoSearch extension - http://search.mnogo.ru. (Sergey K)
-- Allow URL encoding in DB usernames and passwords. (Stig, PEAR)
-- Added raiseError and setErrorHandling methods to PEAR class. (Stig, PEAR)
-- Added support for converting images from JPG/PNG on the fly with the GD
- extension, which is usefull for creating dynamic WAP-sites. (Derick)
-- Updated ext/mysql/libmysql to version 3.23.32; bug fixes. (tim@mysql.com)
-- Fixed possible crash in all (non-pcre) regex functions. (Thies)
-- Improved str_replace() to accept an array for any parameter - similar
- to preg_replace(). (Andrei)
-- Fixed extract() to properly prefix numeric keys when EXTR_PREFIX_ALL is
- used. (Andrei)
-- Added EXTR_PREFIX_INVALID flag to extract() to automatically prefix
- string keys that do not constitute valid variable names. (Andrei)
-- BeOS patch from svanegmond@bang.dhs.org, modified somewhat by Rasmus.
-- Fixed the Apache module to overwrite PATH_TRANSLATED with SCRIPT_FILENAME,
- only if PATH_TRANSLATED is not previously set. (Zeev)
-- Fixed crash bug in highlight_string(). (Rasmus)
-- Added URL support for getimagesize() function. (Jani)
-- Added xslt_set_scheme_handler() function. (carmelo@akooe.com)
-- Added the pg_lolseek and pg_lotell functions. (Derick)
-- Fixed wrong breaking with the wordwrap function. (Derick)
-- Fixed 'O' and 'r' flags of date() to have correct sign for timezone
- offset. (Andrei)
-- Changed 'Z' flag to date() to always return timezone offset with
- negative sign if it's west of UTC. (Andrei)
-- Added the HTML_Processor class which provides common functions for
- processing HTML. (Sterling)
-- Added localeconv() and strcoll() functions for localization. (Sean)
-- Added the xslt_set_base function. (Sterling)
-- Added support for Zeus 3.3.8.
-- Added odbc_error() and odbc_errormsg() functions. (Stig)
-- New extension for vpopmail - http://www.inter7.com/vpopmail,
- give it a try, but keep in mind that it is not ready for production
- environments. (David Croft, Boian Bonev)
-- Added sybase_get_last_message() to the Sybase CT module. (Jan Fedak)
-- Made ldap_list(), ldap_read() and ldap_search() do parallel search when
- first parameter is an array of link identifiers. (Stig Venaas)
-- Made fopen() of HTTP URL follow redirects, $http_response_header will
- contain all headers with empty string as delimiter. (Stig Venaas)
-- Added Console_Getopt class for parsing command-line args. (Andrei, PEAR)
-- Added an experimental version of the ZZipLib extension which provides the
- ability to read zip files. (Sterling)
-- Allow access to uploaded files in safe_mode. Beware that you can only
- read the file. If you copy it to new location the copy will not have the
- right UID and you script won't be able to access that copy. (Thies)
-- Changed extract() to check that prefixed name is a valid one. (Andrei)
-- Changed extract() to return the number of variables extracted. (Andrei)
-- Added ldap_rename() function. (Stig Venaas)
-- Made ldap_set_option() support controls. (Stig Venaas)
-- Changed ldap_search() and added functions ldap_parse_result(),
- ldap_first_reference(), ldap_next_reference() and ldap_parse_reference()
- to cope with LDAPv3 stuff like referrals and references. (Stig Venaas)
-- Fixed date('r') overflow.
-- Made the php.ini path reported in phpinfo() always point to the absolute
- path that was opened. (Zeev)
-- Made the INI mechanism thread safe. (Zeev, Zend Engine)
-- Changed setlocale() to use LC_* constants. (Jani)
-- ctype functions now follow the extension naming conventions. (Hartmut)
-- Added iconv() function (using libc or libiconv). (Stig)
-- Added ODBC_TYPE constant. (Stig)
-- Added the call_user_method_array function which allows you to call a method
- with an arbitrary number of parameters. (Sterling)
-- ext/odbc: IBM DB2 patch by Walter Franzini. <walter@sys-net.it>
-- Added extension for the cracklib library. (Alexander Feldman)
-
-19 Dec. 2000, Version 4.0.4
-- Allow assigning a newly created object by reference. This is needed only if
- your constructor makes other data structures reference the $this object (for
- example, $GLOBALS["foobar"] =& $this;)
- The new syntax is $obj =& new MyClass(); (Andi, Zend Engine)
-- Allow for three expression types to be sent to functions which are requesting
- the function argument to be passed by reference (only c. was previously
- supported):
- a. func(new myclass());
- b. func(func2()); where func2() returns a reference, i.e. is defined as
- function &func2(...)
- {
- ...
- }
- c. func($var); where func() is defined as function func(&$var) {...}
- You CAN'T count on any other expressions to be passable by reference.
- (Andi, Zend Engine)
-- Made ldap_get_entries() return an array even if there are no entries
- in search result. (Jani)
-- Fixed bad mod_perl interaction which caused segfaults when using LFS (Sascha)
-- const CONSTNAME now gets recognized. Before the patch only @const CONSTNAME
- description was recognized.
-- Added the is_null() function that will return true if a variable is of
- type null. (Sterling)
-- Fixed a bug which made readdir() unusable in some systems. (Jani)
-- Added the get_defined_functions() function which returns a list of all
- currently defined functions. (Sterling)
-- Added the get_defined_vars() function which returns an associative array
- of all variables defined in the current scope and their subsequent values.
- (Sterling)
-- Added the call_user_func_array() function which gives you the ability to
- call a user function by passing an array of parameters as the second
- argument. (Sterling)
-- Added the constant() function which returns the value of a constant given
- the constant's name. (Sterling)
-- Implemented support for Perl-style matching regexp delimiters in PCRE.
- You can use <{[( and )]}> to delimit your expressions now. (Andrei)
-- Introduced new 'F' modifier in PCRE that lets you specify a function
- name in the replacement argument to preg_replace() that will be called
- at run-time to provide the replacement string. It is passed an array of
- matched pattern and subpatterns. (Andrei)
-- Put an end to BUG#4615 (kalowsky & Eric Veldhuyzen)
-- Added the IRCG extension (Sascha)
-- Fixed realpath() in Virtual Directory mode (Daniel)
-- Integrated the Phil Nelson's bc math library routines into PHP, now that
- the license allows it (Phil Nelson <phil@cs.wwu.edu>)
-- Added the xslt_set_error_handler() function to the Sablotron extension.
- (Sterling)
-- Improved Sablotron's error handling system allowing you to catch all
- errors before they are outputted to the screen. (Sterling)
-- Added OpenSSL extension (Stig Venaas)
-- Fixed/created support for Solid 3.0 databases (kalowsky)
-- Fixed support for Solid 2.3 databases (kalowsky)
-- quoted_printable_decode() function is made RFC-2045 compliant. (Kir)
-- Modified preg_grep() to always return the results with keys from the original
- array. (Andrei)
-- Modified preg_replace() to accept Perl-style $n backreferences in addition
- to \\n ones. (Andrei)
-- Modified preg_replace() to ignore backreferences that refer to
- non-existing subpatterns. (Andrei)
-- Fixed column-title buffer-overflow in OCIFetchStatement(). (Thies)
-- Added 'output_handler' INI directive (Zeev)
-- Fixed some buglets in the output buffering mechanism (Zeev)
-- Added transparent gzip compression support (Jade Nicoletti, Zeev)
-- Major overhaul of domxml. Added basic XPath support as well (Uwe)
-- Added 'r' flag to date() which generates an RFC822 formatted date, e.g.
- "Thu, 9 Nov 2000 16:33:01 -0500" (Colin)
-- In CGI mode, $HTTP_SERVER_VARS now includes all of the environment variables
- as well (Zeev)
-- Allow user to use mysql_use_result in mysql queries (Stas)
-- Fixed a memory leak that would occur when restarting Apache often
- (mookid@sigent.ru)
-- Fixed a bug that prevented $argv and $argc from being defined in the command
- line version of PHP (Stas)
-- Fixed a bug that prevented a changed compile-time extension_dir from
- affecting modules that were loaded via php.ini (Zeev)
-- Fixed a bug in ftp_mkdir() when used on ftp server which doesn't return
- the full path (Jani)
-- Added ImageCreateFromString() which creates an image stream out of
- e.g. a MySQL blob. (Mathieu)
-- Fixed a crash bug in imagewbmp() (Jani)
-- Changed the sablot configuration file so that if you use any version of
- Sablotron below 0.44 you must use Sablotron's built-in Expat libraries.
- (Sterling)
-- Added basic authentication support to thttpd (Sascha)
-- Added support for the Caudium webserver (http://caudium.net/). It's based
- on the Roxen SAPI module. Many bugs have been identified and fixed. (David)
-- Fixed mysql_close(), pg_close(), msql_close() and sybase_close() - they
- weren't properly closing the SQL connections (Zeev)
-- Fixed crypt() to supply random seed if none is given (Andi)
-- Made print_r() support recursive data structures, e.g. $GLOBALS. (Zeev)
-- Fixed a bug that caused PHP not to properly flush its output buffer, if more
- than one output buffer was used. (Zeev)
-- Fixed a bug that could draw the shutdown sequence of the PHP Apache module
- into an endless loop, under certain circumstances. It could cause Apache
- processes under Solaris to get stuck, especially when using output
- buffering. (Zeev)
-- Added support for serializing references (Stas)
-- Fixed conflict with OpenLDAP and Oracle 8.1.x (Jani)
-- parse_ini_file() supports a new optional 2nd argument that instructs it
- to divide the directives to arrays according to the sections in which they
- reside (Zeev)
-- parse_ini_file() is now thread-safe, and supported under Windows (Zeev)
-- Unified aborted-connection semantics of all SAPI modules (Sascha)
-- URL-opened files now store the HTTP response header in $http_response_header
- (Zeev)
-- Fixed array_rand() to shuffle results when the number of requested
- elements is the same as the number of elements in the array. (Andrei)
-- Added replace parameter to header() (Sascha)
-- Fixed handling of single quotes in transparent session-id mode (Sascha)
-- Fixed "php://*" fopen handler (Sascha)
-- Made rename work in threadsafe enviroments (Daniel)
-- Made session_destroy() close files before unlinking (Daniel)
-- Added array_sum() function. (Andrei)
-- Fixed a bug in session.c. The php_session_save_current_state did not check
- if mod_data is NULL and such situation is possible if the user calls
- session_module_name with a parameter. (alex@zend.com)
-- Added IIS Admin extension. (Frank)
-- OCIBindByName() now does better parameter-checking. (Thies)
-- Made read() binary-safe in sockets.c (Chris Vandomelen)
-- Made array_intersect() and array_diff() not alter order (Stig Venaas)
-- Made ldap_connect() accept URL in host parameter when using OpenLDAP
- 2.x. To use SSL, use ldaps://host/ as URL. (Stig Venaas)
-- Made resource type names visible, e.g. var_dump() and
- get_resource_type() display "file" for file resources. (Andrei)
-- Added the curl_getinfo() function to find out information about a CURL
- transfer. This function requires cURL 7.4.0 or above. (Sterling)
-- Added the CURLOPT_KRB4, CURLOPT_INTERFACE, CURLOPT_QUOTE, CURLOPT_POSTQUOTE,
- CURLOPT_QUOTE and CURLOPT_HTTPPROXYTUNNELL options. (Sterling)
-- Renamed the shm_* functions to shmop_* (Derick)
-- Updated ext/mysql/libmysql to version 3.23 (tim@mysql.com)
-- Added ldap_get_option() and ldap_set_option() functions (Stig Venaas)
-- Fixed a crash in CGI mode, in case no file was provided
- (Daniel Beulshausen& Zeev)
-- Fixed possible crash bug in imap_fetchstructure() (Jani)
-- Fixed possible crash bug in imap_open() (Jani & Mark Musone)
-- Added url_rewriter.tags configuration directive (Sascha)
-- Added CORBA client extension, ready for use (eriksson@php.net)
-- Fixed memory leak in x-httpd-source mode (Jason Greene)
-- Changed ext/gd not to be enabled by default (Jani)
-- Make increment of empty string ("") behave like in PHP 3 and result in "1"
- (Andi, Zend Engine)
-- Added POST handler for Adobe FDF format (Hartmut)
-- Added transparent read and write .gz-files on glibc based systems
- using the 'zlib:' fopen wrapper (Hartmut)
-- Fixed a problem in the configuration parser (two null bytes were added
- to each ENCAPSULATED TC_STRING) (alex@zend.com)
-- Added HMAC support in the mhash module (nmav@altera.gr)
-- Added module for Ovrimos sql server (nmav@altera.gr)
-
-11 Oct 2000, Version 4.0.3
-- Fixed a possible crash in -a interactive mode (Zeev, Zend Engine)
-- Added mysql_escape_string() (Peter A. Savitch and & Brian Wang)
-- Fixed many possible crash bugs with improper use of the printf() family of
- functions (Andi)
-- Fixed a problem that allowed users to override admin_value's and admin_flag's
- (Zeev)
-- Fixed PostgreSQL module to work when the link handle is omitted (Zeev)
-- Fixed returning of empty LOB fields in OCI8. (Thies)
-- Added Calendar module to default Win32 build (Andi)
-- Added FTP module to default Win32 build (Andi)
-- Fixed crash in the POSIX getrlimit() function (alex@zend.com)
-- Fixed dirname() under certain conditions (Andi)
-- Added --with-imap-ssl to support SSL'ized imap library in RH7 and others
- (Rasmus)
-- Fixed possible crash bug in parse_url() (Andi)
-- Added support for trans sid under Win32 (Daniel)
-- Added IPv6 support in fopen (Stig Venaas)
-- Added the shmop extension. It allows more general ways of shared memory
- access. (thanks to Ilia Alshanestky <iliaa@home.com> and Slava Poliakov
- <slavapl@mailandnews.com> (Derick)
-- Added the ability for CURLOPT_POSTFIELDS to accept an associative array of
- HTTP POST variables and values. (Sterling)
-- Added the CURLOPT_HTTPHEADER option to curl_setopt(). (Sterling)
-- Added the curl_error() and curl_errno() functions. (Sterling)
-- Changed ext/db not to be enabled by default (Jani)
-- Fixed building Apache SAPI module on SCO UnixWare (Sascha)
-- Fixed writing empty session sets to shared memory (tcarroll@chc-chimes.com)
-- Added support for BSD/OS make (Sascha)
-- Added improved URL rewriter (Sascha)
-- Fixed readdir_r() use on Solaris (Sascha)
-- Improved HTTP headers for private-caching (jon@csh.rit.edu, Sascha)
-- Added new function session_cache_limiter (jon@csh.rit.edu, Sascha)
-- Added ftp_exec to the ftp functions (thanks to <jhennebicq@i-d.net>)
- (Derick)
-- PEAR: add last executed query as debug info in DB errors (Stig)
-- PEAR: allow multiple modes in PEAR_Error (Stig)
-- Made the Sybase CT module thread safe (Zeev)
-- Added second argument to array_reverse() that indicatese whether
- the original array keys should be preserved. (Andrei)
-- Clean up htmlspecialchars/htmlentities inconsistencies. (Rasmus)
-- PEAR: renamed DB_GETMODE_* to DB_FETCHMODE_*, added setFetchMode()
- in DB_common to set the default mode, added some MySQL tests (Stig)
-- Made eval() and several other runtime-evaluated code portions report the
- nature and location of errors more accurately (Stas)
-- Added an optional parameter to wordwrap that cuts a string if the length of a
- word is longer than the maximum allowed. (Derick)
-- Added functions pg_put_line and pg_end_copy (Dirk Elmendorf)
-- Added second parameter for parse_str to save result (John Bafford)
-- Fixed bug with curl places extra data in the output. (medvitz@medvitz.net)
-- Added the pathinfo() function. (Sterling)
-- Updated sybase_ct module and its sybase_query to use high performance API.
- (Joey)
-- Added a more configurable error reporting interface to DB. (Stig)
-- Added is_uploaded_file() and move_uploaded_file() (Zeev)
-- Added several directives to php.ini - post_max_size, file_uploads,
- display_startup_errors - see php.ini-dist for further information (Zeev)
-- Worked around a bug in the libc5 implementation of readdir() (Stas)
-- Fixed some potential OpenBSD and NetBSD crash bugs when opening files. (Andi)
-- Added EscapeShellArg() function (Rasmus)
-- Added a php.ini option session.use_trans_sid to enable/disable trans-sid.
- (Sterling)
-- Added the Sablotron extension for XSL parsing. (Sterling)
-- Fixed a bug in checkdate() which caused < 1 years to be valid (Jani)
-- Added support for an optional output handler function for output
- buffering. This enables transparent rendering of XML through XSL,
- transparent compression, etc. (Zeev)
-- Added support for user defined 'tick' callback functions. This helps
- emulate background processing. (Andrei)
-- Fixed problem with having $this as the XML parser object. (Andrei)
-- Internal opened_path variable now uses the Zend memory manager so that full
- paths of files won't leak on unclean shutdown (Andi)
-- Removed support of print $obj automatically calling the __string_value()
- method. Instead define yourself a method such as toString() and use
- print $obj->toString() (Andi, Zend Engine)
-
-29 Aug 2000, Version 4.0.2
-- Added PHP API for Zend's ticks. (Stig)
-- PHP 3 regression testing framework re-born (Stig)
-- Added php_uname() function (Stig)
-- Made a minor change to allow building with OpenLDAP 2.0 (Stig Venaas)
-- Fixed a bug in preg_replace() that would truncate subject string if the
- first argument was en empty array. (Andrei)
-- Added ob_get_length function (Stig)
-- Fixed a bug that did not respect limit parameter in preg_replace() when
- using /e modifier. (Andrei)
-- Added ability for each xml_set_*_handler() function to take the
- array($obj, 'method') syntax for the handler argument as well
- as the normal function name. (Andrei)
-- Updated array_walk() to be able to accept array($obj, 'method')
- syntax for the walk function. (Andrei)
-- Fixed segfault with fgets(), fgetcsv(), fgetss(), and fread() when
- called with negative length argument. (Torben)
-- Fixed by-reference parameters passing for xml_ functions and for scanf
- functions (Stas)
-- Added experimental Oracle LDAP SDK support. 8.1.6 or later needed. Configure
- with something like --with-ldap=/usr/local/oracle/product/8.1.6 (Stig Venaas)
-- Fixed memory leaks in eval(); A script that used eval() extensively, could
- end up consuming very large amounts of memory during execution (Zeev, Zend
- Engine)
-- Fixed memory_limit feature, which did not work properly in previous versions
- (Zeev, Zend Engine)
-- Fixed stdout support with the swf extension. (Sterling)
-- Fixed byte order for ip2long and long2ip (Stas)
-- Fixed dbase_add_record. (Sterling)
-- Added support for libmcrypt 2.4.4 (Derick)
-- Added strncasecmp function (Andi, Zend Engine)
-- Fixed FTP module to accept multiline server replies (Jani)
-- Fixed switch which only has a single default rule. (Andi, Zend Engine)
-- Fixed problem with nested foreach()'s. (Andi, Zend Engine)
-- The CCVS module is now stable and compiling. It compiles as a CGI and into
- Apache cleanly without warnings. (Brendan W. McAdams)
-- Fixed mSQL_close(). (nick@loman.net)
-- Made return() in a require()'d file work like return() in an include()'d
- file (Andi & Zeev, Zend Engine)
-- Changed require_once() to work using the same table as include_once()
- (Andi & Zeev, Zend Engine)
-- Fixed PostgreSQL module to work when the link handle is omitted (Zeev)
-- Fixed the Sybase modules to work properly with PHP 4.0 (Zeev)
-- Fixed CLOB handling in OCI8 driver when using variable-width
- character sets. (Thies)
-- Added 4th optional parameter to sybase_[p]connect to specify the charset
- for the connection (alf@alpha.ulatina.ac.cr)
-- Fixed support for current thttpd releases. (Sascha)
-- Added support for kerberized IMAP library using --with-kerberos
- (Rasmus, Sascha)
-- Virtualize realpath, chmod, chown and utime (Stas)
-- Support content-encoding headers in file upload MIME parts
- (Ragnar Kj�rstad)
-- Fixed warning when shutting down OCINLogon() connections. (Thies)
-- Fixed \n in session variables bug on Win32 (Stas)
-- OCIError() would sometimes not report failed connections. (Thies)
-- Fixed HEAD request bug on an Apache ErrorDocument redirect and preserve
- the status code across the redirect as well. (Rasmus)
-- Added Olympus-specific tags to read_exif_data() (Rasmus)
-- Fixed bug in imap_fetchheader() where using FT_PREFETCHTEXT didn't return
- the body. Bug #4447. (Jani)
-- Fixed exec() returning "\0" when output is empty
-- Added XML_Parser class in PEAR (Stig)
-- Added "make test" target in pear/ and added some regression tests (Stig)
-- Fixed bug in strip_tags function as per bug #5857 (Rasmus)
-- Fixed reading of IPTC via GetImageInfo() for certain JPEG files. (Thies)
-- Improved the output-buffering functions to be re-entrant (Zeev)
-- Made ldap_add(), ldap_modify(), ldap_mod_add(), ldap_mod_replace()
- binary-safe. Original patch: Terrence Miao <terrence_miao@email.com> (Jani)
-- CGI aka. command line version has now an option '-l' for syntax check
- without execution (Hartmut)
-- Fixed bug in ldap_get_values_len() which makes it NULL-safe. (Jani)
-- Bug-report and fix submitted by Michel Alexeline <alexel@dr15.cnrs.fr>
-- Make ext_skel create a Makefile.in set up to handle shared extension
- support automatically (Rasmus)
-- Fixed php_realpath not to die on non-existing files (needed for touch())
- (Stas and china@thewrittenword.com)
-- Fixed get_browser() function (Stas)
-- Fixed symbol clash which caused a DSO problem on OpenBSD (Rob Black and
- anil@recoil.org)
-- Added new function: ldap_compare(). (Jani)
-- Fixed a bug in ldap_get_entries() and ldap_get_attributes(). (Jani)
-- Ported DB to new error reporting scheme in PEAR. (Stig)
-- Added sybase and ibase DB backends in PEAR. (Sterling)
-- New PEAR package Payment_Verisign for use with the Payflow Pro
- (pfpro) extension. (David Croft)
-- Added CURL support. (Sterling)
-- Catch users trying to set "compatibility" parameter in PDF, which is not
- supported from user-land. (Joey)
-- Fixed dbase_add_record. (Sterling)
-- Added new function wordwrap() to wordwrap long strings from Chris
- Russel <russel@yorku.ca> (David Croft)
-- Added four additional arguments: attrsonly, sizelimit, timelimit, deref which
- were missing in ldap_search(), ldap_list() and ldap_read() functions (Jani)
-- Fixed a bug in ldap_search/list/read() which prevented returning the partial
- results when 'Sizelimit exceeded' error occurred. (Jani Taskinen)
-- Fixed preg_replace() to automatically escape quotes in matched
- strings when using /e modifier. (Andrei)
-- Itanium patch (Steve Robb)
-- Set default include_path so PEAR files can be reached (Stig)
-- Added "pear" executable, requires CGI version installed (Stig)
-- Added extension ii for Ingres II native support. See README in ext/ingres_ii
- directory. (David H)
-- Added Win32 project for the Interbase module (Zeev)
-- Added ability to perform calls to the parent class without explicitly
- specifying its name, using parent::func_name(...) (Zeev, Zend Engine)
-- You can now call Ora_Error() without prameters to get the reason
- for a failed connection attempt. (Kirill Maximov)
-- New extension "pfpro" for interface with Verisign Payflow Pro (David Croft)
-- Added IMG_GIF, IMG_JPG, IMG_JPEG, IMG_PNG and IMG_WBMP constants for
- imagetypes() function (Rasmus)
-- Added ImageTypes() function which returns a bitfield with the supported
- image formats. 1=gif, 2=jpeg, 4=png and 8=wbmp (Rasmus)
-- Make it possible to specify an empty string as a thousands-seperator
- in number_format() (Rasmus)
-- Shared module support for LDAP extension (Troels Arvin)
-- Fixed a bug with imap_mail where apache would segfault if the rpath
- parameter was specified.
-- Use dashes and short day name in cookies since some browsers seem picky
- about this (Rasmus)
-- Added pspell module. (Vlad)
-- Added 3 additional arguments to the user-defined error handler - the file
- name and line number in which the error occured, and the context (local
- variables) of the code in which the error occured (Zeev, Zend Engine)
-- Improved the error handling code to handle an error in a user-defined error
- handling function (Zeev, Zend Engine)
-- Fixed leak when using string offsets in the array() construct.
- (Andi, Zend Engine)
-- Fixed corruption problem when changing deeply nested values in objects.
- (Andi & Zeev, Zend Engine)
-- Improved array_multisort() to be able to specify sort type as well sort
- order. Incidentally, it can be used to sort multi-dimensional arrays
- as well. (Andrei)
-- Fixed a possible data corruption in case of a huge amount of aborted requests
- (Zeev)
-- Apache module would sometimes close a wrong file-descriptor. (Sascha)
-- Fixed use of alternative storage handlers in the session module. (Sascha)
-- Updated str_pad() to be able to pad on left/right/both sides. (Andrei)
-- Fixed crash in gzopen(). (Thies)
-- Multiple character set support in gdttf.c (Rob Goodwin)
-- When using HTTP auth from PHP, fill in the %u custom log field so the
- authenticated used id will get logged in the Apache access_log (Rasmus)
-- Support for pdflib 3.01. (Uwe)
-- FDF Data is handled properly and can be accessed by reading
- HTTP_RAW_POST_DATA. (Uwe)
-- Added new 'O' format modifier that will output the GMT offset as "[+-]HHMM"
- (eg: Pacific time is -0700). This is useful for things such as Date: mail
- headers. (Mike W)
-- Fixed crash on OCI?Logon() failure. (Thies)
-- Make the special Header("http/...") response be case insensitive like 3.0
- (Rasmus)
-- Allow cybercash to compile as a DL module. (Sterling)
-- Fixed the dbase_create function. (Sterling)
-- Fixed a problem under some versions of Windows that could cause PHP to hang
- on startup if errors occured, e.g. in the php.ini file (Zeev)
-- Fixed opendir() again. It should actually work well continuously now (Zeev)
-- Added three additional arguments to be sent to a user-defined error handler -
- the filename and line number in which the error occured, and the context
- (the local variables) of the error (Zeev, Zend Engine)
-- Improved the error handling code to handle an error in a user-defined error
- handling function (Zeev, Zend Engine)
-- Added an optional parameter to preg_replace() that can be used to
- specify how many replacements to make. (Andrei)
-
-28 Jun 2000, Version 4.0.1
-- Fixed a possible crash in the LDAP modify code. (Eric Kilfoil)
-- Fixed a bug in opendir(), which prevented readdir() from working properly if
- the $dir argument wasn't explicitly specified (Zeev)
-- Made --enable-discard-path work again. (Andi)
-- Removed 8KB limit on line length of the file() function (Zeev)
-- Disabled dl() when PHP is being used as a module inside a multithreaded web
- server - it didn't work before, and caused weird results (Zeev)
-- Added the ImageColorClosestHWB(), ImageCopyMerge() and ImagePaletteCopy()
- functions. (Sterling)
-- Added ImageCreateFromWBMP() function. (Jouni)
-- Fixed problems with POST requests under the NSAPI module. (Roberto Biancardi)
-- Added spliti() function. (Thies)
-- Fixed serializer behaviour with regards to serializing objects whose class
- definition was not available in the deserializing context. (Sascha)
-- Improve memory cache performance and increase cache size. (Stas, Zend Engine)
-- Added a crc32 checksum function - used by the UdmSearch search engine
- and currently run through a system call. This will speed up the UdmSearch
- php frontend significantly. (Rasmus)
-- Modified in_array() to not touch array pointer. (Andrei)
-- Added restore_error_handler(). (Zeev, Zend Engine)
-- Fixed erroneous file names and line numbers in error situations under the
- multithreaded version of PHP - most noticeably Win32 (Zeev, Zend Engine)
-- Fixed problem with CGI crashing on certain servers especially Windows Apache
- & O'Reilly website (Andi)
-- Added Pi3Web SAPI module; run ./configure --with-pi3web to enable this.
- (Holger; zimpel@t-online.de)
-- Enhanced WDDX functions to call __sleep() and __wakeup() when working on
- objects. (Andrei)
-- Changed WDDX to serialize arrays as structs only if needed. (Thies)
-- Implemented max_execution_time under Win32 (Zeev)
-- Updated strtotime() to handle many more formats. It now has complete
- feature parity with GNU date command. (Andrei)
-- Added support for multiple arguments in unset(). (Faisal, Zend Engine)
-- Functions that expect a resource but are passed something else now return
- NULL instead of FALSE. (Thies, Zend Engine)
-- Fixed gmmktime(), on certain systems it incorrectly adjusted for the timezone
- offset and daylight savings time. (Andrei)
-- Moved VC++ Win32 project and workspace files to the win32 directory
- (Zeev)
-- Fixed checkdate() to not return true on non-numeric arguments (Rasmus)
-- Added --enable-c9x-inline option for compilers which support the new C9x
- standard. If you encounter undefined references to i_zend_is_true and
- other symbols, you should enable this. (Sascha, Zend Library)
-- Fixed a problem in ldap_add() and ldap_modify(), sometimes added trailing
- garbage to the values (Stig Venaas)
-- Fixed a problem with dbmopen() not handing 'c' correctly with dbm/db/ndbm
- databases. (JimJag)
-- Fixed a crash in number_format() when used with locales. (Andrei)
-- Fixed an initialization problem in the MS-SQL problem that could cause
- a crash in mssql_query() (Zeev)
-- Upgraded PCRE to version 3.2 and fixed a bug when anchored pattern
- matched an empty string. (Andrei)
-- Fixed a bug that prevented PHP from paying attention to the extension_dir
- directive with extensions that were loaded from the php.ini file (Zeev)
-- Changed set_error_handler() to return the name of the previously defined
- error handler, if any (Zeev, Zend Engine)
-- Declared <?php_track_vars?> officially dead. It didn't work in PHP 4.0.0
- either, but now it's gone for good (Zeev)
-- Make convert_cyr_string() binary safe and stop it from corrupting other
- PHP variables. (Andi)
-- Added functions array_unique, array_intersect and array_diff (Stig Venaas)
-- Fixed problem when using uninitialized values in comparisons with strings.
- They behave as empty strings again just like in PHP 3.
- (Andi & Zeev, Zend Engine)
-- Fixed 'Z' flag in date() to adjust for daylight savings time. (Andrei)
-- Fixed var_dump() not to modify the internal order of array elements (Zeev)
-- Fixed stripcslashes() to remove to strip \ in unknown escapes instead of
- leaving it. (Andrei)
-- Changed WDDX to always serialize arrays as structs. (Andrei)
-- Fixed include_once() to issue a warning in case the supplied file name is
- not found (Zeev, Zend Engine)
-- Fixed a bug in get_declared_classes() which could return the same class
- multiple times under certain circumstances (Zeev, Zend Engine)
-- Fixed a bug in rawurldecode() that would cause in rawurldecode() corrupting
- its argument (Zeev)
-- Parse errors (or other errors) in the php.ini files under Windows will no
- longer mess up the HTTP headers in CGI mode and are now displayed in a
- message box (Zeev)
-- Fixed a crash in OCIFetchStatement() when trying to read after all data
- has already been read. (Thies)
-- fopen_wrappers() are now extensible via modules (Hartmut Holzgraefe)
-- Make trim strip \0 to match php 3 (Rasmus)
-- Added function imagecreatefromxbm(). (Jouni)
-- Added function imagewbmp(). (Jouni, based on patch from Rune Nordb�e
- Skillingstad)
-- Added str_pad() for padding a string with an arbitrary string on left or
- right. (Andrei)
-- Made the short_tags, asp_tags and allow_call_time_pass_reference INI
- directives work on a per-directory basis as well, e.g. from .htaccess
- files. (Zeev)
-- Added fflush() function. (Eric Huss)
-- Fixed a problem with static variables, default function arguments and class
- member variables, that contained array values. (Andi & Zeev, Zend Engine)
-- Fixed virtual() when used with output buffering (Marc Pohl)
-- Clean up constants in flock() function and add optional 3rd arg which
- is set to true on EWOULDBLOCK (Rasmus)
-- Added functions pg_loimport(), pg_loexport(). (Jouni)
-- Added SWF support to getimagesize() function (Derick Rethans)
-- Added support for both indexed and non-indexed arrays of file uploads
- eg. name="file[]" type="file" (Rasmus)
-- Added create_function(), which gives the ability to create functions
- on-the-fly (Zeev, Zend Engine)
-- Added support for comparisons of arrays (with arrays) and objects (with
- objects); The equality operator (==) performs an unordered comparison,
- whereas the identity operator (===) performs an ordered comparison (Zeev,
- Zend Engine)
-- Allow all functions that receive user-defined function callbacks to accept
- an array that contains an object and a method name, in place of a function
- name, e.g. usort($array, array($obj, "ObjSort")) (Zeev, Zend Engine)
-- Added set_error_handler() to allow custom error handling functions,
- instead of the built-in error handling code (Zeev, Zend Engine)
-- Renamed user_error() to trigger_error(); user_error() remains
- defined for compatibility (Zeev, Zend Engine)
-- Fixed the global/static statements to require a trailing terminating
- semi-colon ';'. (Andi, Zend Engine)
-- Cleaned up PCRE extension and made it binary-safe. (Andrei)
-- Added third argument to in_array(). If it's true, then in_array()
- will use strict comparison instead of the default one. (Andrei)
-- Added pg_trace() and pg_untrace (Dominic J. Eidson & Zeev)
-- ignore_user_abort=Off is now default. (Thies)
-- Added array_merge_recursive() that will recursively merge values
- under the same keys. (Andrei)
-- fixed crash in OCIParse when parsing invalid SQL. (Thies)
-- Fixed a bug in mysql_connect() that made it ignore the socket argument, in
- case of non-persistent connects (Zeev)
-- Added disable_functions php.ini directive, to allow administrators to disable
- certain functions for security reasons (Zeev)
-- Fixed sessions on Win32. When setting the directory depth parameter in
- save_path you need to now delimit it with a ';' instead of ':', e.g
- "5;/tmp" instead of "5:/tmp" (Andi)
-- Changed the Apache handler's return status to 'Declined' when a requested
- PHP file could not be found. Returning 'Not Found' caused problems
- in the ErrorDocument handler stage in that $REDIRECT_REDIRECT_ERROR_NOTES
- was not getting set at all. Moving to 'Declined' should fix this and I
- can't see any other side effects. (Rasmus)
-- Fixed scanning decimal numbers in internationalized environments. They should
- always be in standard US format e.g. 23.3. (Andi, Zend Engine)
-- Added second argument to preg_quote() which allows quoting of
- one additional character, usually the regex delimiter. (Andrei)
-- Uncommitted outstanding OCI8 transactions are now rolled back
- before the connection is closed. (Thies)
-- ignore_user_abort() & friends should now work in CGI mode as well.
- (Patch by daniel.braun@ercom.fr)
-- Added extension YAZ (dickmeiss).
-- Fixed a crash bug triggered by certain cases of class redeclarations
- (Stas & Zeev, Zend Engine)
-- Fixed min()/max() segfault. (Andrei)
-- New module for reading EXIF header data from JPEG files. Most digital
- cameras will embed all sorts of information about a picture inside the
- jpeg images it generates. (Rasmus)
-- Fixed basename() bug where "file.ext///" would not return the same
- as "/path/file.ext///" (Rasmus)
-- Added the swf_ortho function. (Sterling)
-- Moved to virtual current working directory support. This highly improves the
- functionality and stability of multi-threaded versions of PHP (Andi, Sascha)
-
-22 May 2000, Version 4.0.0 Release
-- Allow the writing of flash files to stdout.
-- Fixed a crash bug in .phps syntax-highlighted files (Andi)
-- Improved round() to allow specification of rounding precision.
- (Andrei, Todd Kirby <kirbyt@yahoo.com>)
-- Added SORT_REGULAR, SORT_NUMERIC, SORT_STRING flags that can be used with
- non-user sort functions for precise sorting behavior. (Andrei)
-- Fixed two 64-bit issues (startup crash, gethostbyaddr). (Sascha)
-- NULL values are now preserved in the return value of mysql_fetch_array()
- and mysql_fetch_object(). (Andrei)
-- Ported InterBase module finally from PHP 3 to PHP 4. Full support for
- InterBase 6. (Jouni)
-- Added swf_definepoly for drawing polygons to the SWF functions. (Sterling)
-- Ported imagegammacorrect from PHP3 to PHP4. (Sterling)
-- Added array_rand() function. (Andrei)
-
-8 May 2000, Version 4.0 Release Candidate 2
-- NSAPI WIN32 Module compilable, untested (Shane)
-- Apache WIN32 Module compilable and lightly tested. (Shane)
-- Enabled assert() by default in php.ini-dist. (Andrei)
-- Put in safeguards in case dynamic code evaluation in assert() and
- preg_replace() with /e modifier fails. (Andrei)
-- Fixed infinite recursion when serializing $GLOBALS[] in WDDX. (Andrei)
-- Made WDDX serialization properly escape <, >, and &. Also speeded up
- the serialization in general. (Andrei)
-- Moved install-local to install-sapi for clarity. (Joey)
-- Improved extension build framework. Refer to README.SELF-CONTAINED-EXTENSIONS
- for an introduction. (Sascha)
-- ImagePolygon() is no longer limited by a maximum number of polygons.
- (Marc Pohl)
-- Added configure time checking for bcmath package. (Joey, Sascha)
-- Added get_declared_classes(). (Andrei, Zend Engine)
-- Added initial NSAPI module from Jayakumar Muthukumarasamy. (Rasmus)
-- Added the SWF module which allows you to create Macromedia Flash files via
- libswf. (Sterling)
-- Improved UNIX build system to support more vendor make tools (Sascha)
-- Updated natural comparison/sorting algorithm by Martin Pool
- <mbp@humbug.org.au>. (Andrei)
-- Fixed a crash in array_multisort() that happened when empty arrays
- were passed to it. (Andrei)
-- Added substr_count() from Peter Kovacs. (Andrei)
-- Added an optional third argument to fseek to indicate where to seek from.
- (Andrei)
-- OCIBindByName() will no longer complain about bindlength beeing zero. (Thies)
-- Converted the IMAP module to the high performance API (Zeev)
-- The fgetcsv() function now handles embedded end-of-line in a quoted field
- (Nick Talbott)
-- Added user_error(), to allow explicitly generate error messages from scripts
- (Zeev, Zend Engine)
-- Fixed a problem in long2ip() that occasionally returned incorrect IP address.
- (Evan, Andrei)
-- Fixed many memory leaks in the IMAP module (Stas, Andi, Zeev)
-- Fixed bug in number_format (Jon Forsberg)
-- Make error_prepend_string and error_append_string work (Rasmus)
-- array_walk() now automatically resets the array. (Andrei)
-- Added natural comparison/sorting routines strnatcmp(), strnatcasecmp(),
- natsort(), and natcasesort(). These are useful for comparing and sorting
- strings that contain numbers. Based on the code from Martin Pool
- <mbp@humbug.org.au>. See http://www.linuxcare.com.au/projects/natsort/
- for more info on natural sorting. (Andrei)
-- Zeus Webserver support (version 3.3.6+) for ISAPI (Ben Mansell)
-- Fixed several problems with the PATH_TRANSLATED and PHP_SELF under Apache
- (Paul Gregg & Zeev)
-- Ported ldap_get_values_len() function from PHP3 to PHP4. (Sterling)
-- Fixed a problem in include_once() with non constant arguments (Andi & Zeev,
- Zend Engine)
-- Added php.ini-optimized (Zeev)
-- Ported ldap_errno(), ldap_err2str() and ldap_error() from PHP3 to PHP4.
- (Sterling)
-- WDDX now defaults to ISO-8859-1. (Thies)
-- Fixed crash resulting from IMAP's error handling (Stas)
-- Added $HTTP_POST_FILES[filename][tmp_name] - it was previously impossible to
- retrieve the temporary name of an uploaded file using $HTTP_POST_FILES[]
- (Zeev)
-- Made the IMAP and LDAP modules compilable under Windows and thread-safe
- (Zeev)
-- Fixed a problem when dealing with large POST blocks in CGI mode (Zeev)
-- Added session_get_cookie_params() function. (Sterling)
-- Fixed return of stristr() to no longer always be lowercased. (Andrei)
-- Changed the Windows version of PHP so that a php.ini file is no
- longer mandatory (Zeev)
-- session_start() is now more verbose if headers cannot be send. (Thies)
-- Fixed a memory leak when using assign-op bitwise operators on strings (Zeev,
- Zend Engine)
-- Added support for reading properties that require arguments in the COM
- module - writing to them will only be supported in PHP 4.1 (Zeev)
-- Fixed a very old legacy memory leak in the COM module (Zeev)
-- Fixed problems with object-overloading support - noteably, COM and Java
- (Zeev, Zend Engine)
-- Fixed an overrun in WDDX. (Thies)
-- Fixed a crash bug with modules loaded through dl() not properly freeing their
- resources (Zeev, Zend Engine)
-- Added localtime() function. (Sterling)
-- Added the 'I' format option for the date function, this option will return
- true or false depending on whether or not daylight savings time is in effect.
-(Sterling)
-- Added gmstrftime() function. (Sterling)
-- snmp_walkoid is now an alias for snmp_realwalk. (Sterling)
-- Fixed a bug that could cause a crash when using 'global' inside large include
- files (Stas, Zend Engine)
-- Added --enable-libgcc switch to force linking against libgcc (Sascha)
-- Fixed dynamic loading where extension_dir had no trailing slash (Sascha)
-- Fixed dynamic loading on OpenBSD (Sascha)
-- Improved POSIX threads check. ZTS works now on at least Linux, Solaris,
- FreeBSD and OpenBSD (Sascha, TSRM)
-- Added !== operator support. (Torben, Zend Engine)
-
-27 March 2000, Version 4.0 Release Candidate 1
-- Added support for UCD-SNMP 4.1.x (Sascha)
-- Fixed a data corruption bug in mysql_result(), if used in table.fieldname
- mode (Zeev)
-- Fixed a crash problem in func_num_args(), func_get_arg() and func_get_args()
- when used as function arguments (Andi, Zend Engine)
-- Added get_class_methods(string classname) function. (Andrei)
-- Added 'I' switch to test whether or not DST is active. (Sterling)
-- Fixed a data corruption bug in mysql_result(), if used in table.fieldname
- mode (Zeev)
-- Modified the registry INI entry reader (Win32) to work with drive letters.
- For example, if you wish to wish to specify INI entries for C:\foo\bar, you
- should create HKLM\PHP\Per Directory Values\C\foo\bar in the registry, and add
- string values for each directive you want to override in this directory (Zeev)
-- Fixed extract() for EXTR_PREFIX_SAME and EXTR_SKIP cases. (Andrei)
-- stristr() no longer modifies it's arguments. (Thies)
-- Don't default to iso-8859-1 since this confuses some browsers. (Rasmus)
-- Make it possible to specify both a port and a socket
- in mysql_[p]connect. (Rasmus)
-- Added --disable-pic for disabling generating PIC for shared objects
- on platforms which support it (i.e. Linux) (Sascha)
-- serialize()/unserialize() now call __sleep() and __wakeup() when
- working on objects. (Thies)
-- renamed to_string() method to __string_value() for consistency.
- (Thies, Zend Engine)
-- Fixed a bug in the third argument to define()
-- Added is_numeric() that returns true if the argument is a number
- or a numeric string. (Andrei)
-- domxml now supports libxml 2.0 Beta and drops support for older versions,
- due to massive changes in libxml
-- fixed possible crash in unserialize() if serialized data was
- corrupted. (Thies)
-- Changed $HTTP_STATE_VARS to $HTTP_SESSION_VARS. Use only the latter
- version now! (Andrei)
-- Added GD-JPEG Support (Rasmus)
-- Prevent from loading dynamic PHP modules which were compiled with different
- debug and thread safety modes than PHP, which resulted in a crash (Andi)
-- connection_aborted() and friends work again (Thies)
-- Upgraded to libtool 1.3.4 (Sascha)
-- UNIX configure creates config.nice in the build directory now which allows
- easy reuse of configuration options (Sascha)
-- Added support for embedded MySQL client library. Unless you specify a path
- to --with-mysql, the bundled MySQL client library will be used (Sascha)
-- Added include_once() and require_once() functionality (Andi, Zend Engine)
-- Removed support for pdflib < 3.0 (Uwe)
-- Added auto-registration of everything in $HTTP_SESSION_VARS[] if
- register_globals is turned off. (Andrei)
-- Cleaned up extension namespace (Stig)
-- OCINLogon() sessions are now closed again. (Thies)
-- Added ip2long() and long2ip(),
- courtesy of Faisal Nasim <faisal@nasim.org> (Andrei)
-- Added ftruncate() and fstat(),
- courtesy of Faisal Nasim <faisal@nasim.org> (Andrei)
-- Added parse_ini_file(). Currently implemented in non thread safe version
- of PHP, and currently lacks section support (Zeev)
-- "none" is now equivalent with "" in Apache config directives (Stig)
-- OCINLogon no longer crashes. (Thies)
-- Fixed comparisons of (string) "nan" with (string) "nan". (Thies, Zend Engine)
-- Switched back to the old $HTTP_*_VARS[] behavior - $HTTP_GET_VARS["foo"]
- and $foo are no longer references to each other, but separate variables
- like they were prior to PHP 4.0 Beta 4 (Zeev)
-- Fixed Sybase-DB compilation (Zeev)
-- Fixed a (fairly common) situation where error_reporting values would not be
- properly restored after a call to error_reporting(), in between requests
- (Zeev)
-- The various $HTTP_*_VARS[] are now protected, and cannot be manipulated by
- user input (Zeev)
-- Added ini_set() as an alias to ini_alter() (Zeev)
-- The string None is now recognized as a keyword by the php.ini processor, and
- can be used to denote an empty string (Zeev)
-- Added get_class_vars(string class_name) and get_object_vars(object obj)
- functions. (Andrei, Zend Engine)
-- Added pdf_set_parameter(), pdf_skew(), pdf_show_boxed() (Uwe)
-- Fixed comparison of (string) "inf" with (string) "inf", which was erroneously
- returning false (Zeev)
-- Implemented default_charset and default_mimetype config directives (Stig)
-- Ported T1lib support from PHP3. (Jouni)
-- Fixed -DEAPI inheritance from APXS. (Sascha)
-- Fixed possible crash in module-shutdown. (Thies)
-- Fixed safe_mode_protected_env_vars INI directive (Zeev)
-- Fixed getrusage() (Sascha)
-- Fixed OCI8 crash when returning cursors from stored-procedures. (Thies)
-
-21 February 2000 Version 4.0 Beta 4 patch level 1
-- Fixed crash when magic_quotes were switched off. (Thies)
-- Support for pdflib 2.30 (Uwe)
-
-20 February 2000, Version 4.0 Beta 4
-- Introduced $HTTP_POST_FILES[], that contains information about files uploaded
- through HTTP upload (Zeev)
-- Made PHP work under Microsoft Personal Web Server, under both Windows NT
- workstation and Windows 95 (Zeev)
-- Made multipart/form-data content obey to the variables_order directive (Zeev)
-- Updated the browscap module to work with PHP 4.0 (Zeev)
-- Recover gracefully in ISAPI after the client prematurely presses STOP (Andi)
-- Fixed bug in unset() on array offsets which are referenced more than once
- (Andi, Zend Engine)
-- Improved ISAPI module - it should no longer be necessary to set PHP as
- an ISAPI filter, only as an ISAPI extension, unless you wish to perform
- authentication using PHP. This didn't yet get enough testing, but it
- should work (Zeev)
-- Fixed RFC1867 file upload under Windows (Zeev)
-- Initital support for pdflib 2.20 (Uwe)
-- Added PostgreSQL support for DB (Rui Hirokawa <louis@cityfujisawa.ne.jp>)
-- Re-introduced "none" for disabling auto_prepend/append_file (Stig)
-- Added DB/storage (Stig, PEAR)
-- Introduced DB warnings (Stig, PEAR)
-- Fixed overrun in strip_tags (Stas)
-- Fixed crash in strip_tags() and related functions. (Thies)
-- Workaround for bogus POST-Data from IE/Mac. (Thies)
- Patch by Alain Malek <alain@virtua.ch>
-- Finished the server abstraction layer; All of the PHP code is now shared
- across different servers (Apache, CGI, IIS, etc.), except for thin
- interface modules (Zeev)
-- Added NULL-support in gettype(). (Thies)
-- base64_decode() will decode POST data correct. (Thies)
- Patch submitted by: Turadg Aleahmad <turadg@wise.berkeley.edu>
-- Much more work on domxml. Build xml tree, create xml doc works (Uwe)
-- Made foreach() work on objects. (Thies, Zend Engine)
-- Added domxml extension based on libxml, still little functionality (Uwe)
-- Fixed memory corruption in fgetss(), strip_tags() and gzgetss() (Zeev)
-- Updated calendar dynamic library to work with PHP 4. (Evan)
-- Added strncmp() function, courtesy of Walter. (Andrei)
-- Made the output of var_dump() more informative. (Thies)
-- Fixed some OCIBindByName() problems. (Thies)
-- Protect the ISAPI module against exceptions. Stack overflows in scripts are
- now nicely detected and handled (Zeev)
-- Fixed possible buffer-overflow in base64_decode. (Thies)
-- Fixed possible buffer-overflow in setcookie(). (Thies)
-- Fixed signal() bug that could cause the Apache master process to
- die. (Thies)
-- Added session_set_cookie_params() function. (Andrei)
-- If header information is sent after output has already been sent, the warning
- message will now state the filename and line number at which the first output
- was made (Zeev)
-- Added the XML Expat library to the standard PHP source distribution thanks
- to its author James Clark (Andi & Zeev)
-- Added XML support to the default Win32 build (Andi & Zeev)
-- Added socket_get_status() function. Renamed:
- set_socket_timeout() -> socket_set_timeout()
- set_socket_blocking() -> socket_set_blocking(). (Andrei)
-- Added realpath() function. (Andrei)
-- mktime interprets years in the range 0-70 now as 2000-2070. You can
- continue to specify the complete year (i.e. 1920) (Sascha)
-- Added the ability to control the environment variables the user is allowed
- to change in Safe Mode, using INI directives (Zeev)
-- Fixed a crash bug in strtr() working on large input strings (Zeev)
-- Ora_GetColumn()/Ora_FetchInto() now return NULL for NULL-Columns. (Thies)
-- OCI8 now supports binding of NULL-values. Module cleanups. (Thies)
-- Added ability to set timeout on socket read operations through
- set_socket_timeout() function. (Andrei)
-- Added implicit_flush INI directive (Zeev)
-- Added implicit_flush() to control whether flush() should be called
- implicitly after any output (Zeev)
-- Fixed a crash in pfsockopen() (Zeev)
-- Fixed a possible crash in phpinfo() (Zeev)
-- Added register_argc_argv INI directive, to allow to selectively disable
- the declaration of the $argv and $argc variables for increased
- performance (Zeev)
-- Added $HTTP_ENV_VARS[] and $HTTP_SERVER_VARS[] support, which similarly
- to $HTTP_GET_VARS[], contain environment and server variables. Setting
- register_globals to Off will now also prevent registration of the
- environment and server variables into the global scope (Zeev)
-- Renamed gpc_globals INI directive to register_globals (Zeev)
-- Introduced variables_order that deprecates gpc_order, and allows control
- over the server and environment variables, in addition to GET/POST/Cookies
- (Zeev)
-- new function cpdf_set_document_limits() (Uwe)
-- Applied safe-mode patch to popen(). (Patch by Kristian K�hntopp)
-- str_repeat() now returns correct length. (Thies)
-- Don't assume libz and libpng are installed for the GD checks (Rasmus)
-- Implemented support for <boolean> and <null> types according
- to WDDX version 1.0 (Andrei)
-- Made var_dump()/serialize()/unserialize() NULL aware. (Thies)
-- Added new NULL constant (Zeev, Zend Engine)
-- Fixed -c support in the standalone CGI binary (Zeev)
-- Increased PHP's performance by 5-15% using a new memory cache (Andi & Zeev,
- Zend Engine)
-- Improved the php.ini reader to support constants and bitwise operators (Zeev)
-- Fixed strrev() to no longer modify arg1. (Thies)
-- Fixed buffer overruns in iptcembed(). (Thies)
-- Fixed a bug in ODBC error reporting (Zeev)
-- Added PHP_Logo_GUID() and Zend_Logo_GUID() functions, that return the GUIDs
- of the PHP and Zend logos used in phpinfo() (Zeev)
-- Added GNU Pth support (Sascha, TSRM library)
-- Removed select(), fd_set() and fd_isset() - will be reimplemented soon! (Thies)
-- Improved Win32 performance significantly by using different mutexes (Zeev,
- TSRM library)
-- Made quotemeta() and preg_quote() binary-safe. (Andrei)
-- Added UDP support in fsockopen(). (Evan)
-- Added --disable-pear option (Andrei)
-- Renamed libzend repository to Zend (Zeev)
-- Added support for thttpd (Sascha)
-- Added session.cache_limiter and cache_expire options (Sascha)
-- Restored the PHP_VERSION and PHP_OS constants (Zeev)
-- Added get_loaded_extensions(), extension_loaded(), and
- get_extension_funcs() functions. (Andrei)
-- Added date/time stamping to PHP error log file. (Andrei, Joey)
-- Added is_subclass_of() function (Andrei, Zend Engine)
-- Implemented count_chars(). (Thies)
-- Added class_exists() function (Andrei, Zend Engine)
-- Made strspn() and strcspn() binary-safe. (Andrei)
-- Added array_multisort() function. (Andrei)
-- Made pageinfo.c thread-safe (Sascha)
-- Made implode() binary-safe (Andrei)
-- Made strstr(), stristr(), and ucwords() binary-safe() (Andrei)
-- Made strtoupper(), strtolower(), substr_replace() binary-safe. (Andrei)
-- Fixed a crash in the Apache syntax highlighting mode (Zeev)
-- Report all ODBC error's not just the one on the top of the stack (lurcher)
-- OCI8 now returns NULL values in LONG columns correct. (Thies)
-- Added support for a C-like assert() function. (Thies)
-- Added CyberCash support. (Evan)
-- Made explode() binary-safe. (Thies)
-- Made strpos() binary-safe. (Thies)
-- Added XML_Set_Object() function, now you can use the XML-Parser from