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

'PRE_FETCH_READ_PATCH'.
  • Loading branch information...
commit 27ce3a93341e2e6a320f24dc0d8d80ee63501b58 1 parent 7ed68c0
SVN Migration authored
Showing with 0 additions and 40,932 deletions.
  1. +0 −149 CODING_STANDARDS
  2. +0 −3  CREDITS
  3. +0 −218 ChangeLog
  4. +0 −860 ChangeLog.3
  5. +0 −75 ChangeLog.TODO
  6. +0 −538 FUNCTION_LIST.txt
  7. +0 −186 INSTALL
  8. +0 −70 LICENSE
  9. +0 −20 MODULES_STATUS
  10. +0 −220 Makefile.in
  11. +0 −17 README-BCMATH
  12. +0 −57 README.QNX
  13. +0 −4 TSRM/Makefile.am
  14. +0 −428 TSRM/TSRM.c
  15. +0 −100 TSRM/TSRM.dsp
  16. +0 −103 TSRM/TSRM.h
  17. +0 −1  TSRM/acconfig.h
  18. +0 −24 TSRM/buildconf
  19. +0 −30 TSRM/configure.in
  20. +0 −25 TSRM/tsrm_config.h.in
  21. +0 −43 TSRM/tsrm_config.in
  22. +0 −120 acconfig.h.in
  23. +0 −279 acinclude.m4
  24. +0 −4 apMakefile.libdir
  25. +0 −77 apMakefile.tmpl
  26. +0 −276 apidoc-zend.txt
  27. +0 −492 apidoc.txt
  28. +0 −90 build-defs.h.in
  29. +0 −151 buildconf
  30. +0 −244 calendar.mak
  31. +0 −798 configure.in.in
  32. +0 −204 crypt.mak
  33. +0 −234 dbase.mak
  34. +0 −201 dbm.mak
  35. +0 −421 dlist.c
  36. +0 −137 dlist.h
  37. +0 −10 ext/Makefile.am
  38. +0 −6 ext/apache/Makefile.am
  39. +0 −449 ext/apache/apache.c
  40. +0 −5 ext/apache/config.m4
  41. +0 −6 ext/aspell/Makefile.am
  42. +0 −204 ext/aspell/aspell.c
  43. +0 −4 ext/aspell/config.h.stub
  44. +0 −28 ext/aspell/config.m4
  45. +0 −54 ext/aspell/php3_aspell.h
  46. +0 −5 ext/bcmath/Makefile.am
  47. +0 −434 ext/bcmath/bcmath.c
  48. +0 −2  ext/bcmath/config.h.stub
  49. +0 −20 ext/bcmath/config.m4
  50. +0 −64 ext/bcmath/php3_bcmath.h
  51. +0 −6 ext/bcmath/setup.stub
  52. +0 −24 ext/com/php3_COM.h
  53. +0 −6 ext/dav/Makefile.am
  54. +0 −2  ext/dav/config.h.stub
  55. +0 −29 ext/dav/config.m4
  56. +0 −289 ext/dav/dav.c
  57. +0 −66 ext/dav/php3_dav.h
  58. +0 −2  ext/dav/setup.stub
  59. +0 −6 ext/db/Makefile.am
  60. +0 −5 ext/db/config.h.stub
  61. +0 −53 ext/db/config.m4
  62. +0 −1,163 ext/db/db.c
  63. +0 −95 ext/db/php3_db.h
  64. +0 −7 ext/dba/Makefile.am
  65. +0 −17 ext/dba/config.h.stub
  66. +0 −210 ext/dba/config.m4
  67. +0 −479 ext/dba/dba.c
  68. +0 −220 ext/dba/dba_cdb.c
  69. +0 −207 ext/dba/dba_db2.c
  70. +0 −190 ext/dba/dba_dbm.c
  71. +0 −189 ext/dba/dba_gdbm.c
  72. +0 −169 ext/dba/dba_ndbm.c
  73. +0 −12 ext/dba/php3_cdb.h
  74. +0 −12 ext/dba/php3_db2.h
  75. +0 −115 ext/dba/php3_dba.h
  76. +0 −12 ext/dba/php3_dbm.h
  77. +0 −12 ext/dba/php3_gdbm.h
  78. +0 −12 ext/dba/php3_ndbm.h
  79. +0 −6 ext/dba/setup.stub
  80. +0 −5 ext/dbase/Makefile.am
  81. +0 −3  ext/dbase/config.h.stub
  82. +0 −21 ext/dbase/config.m4
  83. +0 −752 ext/dbase/dbase.c
  84. +0 −94 ext/dbase/dbf.h
  85. +0 −261 ext/dbase/dbf_head.c
  86. +0 −9 ext/dbase/dbf_head.h
  87. +0 −168 ext/dbase/dbf_misc.c
  88. +0 −13 ext/dbase/dbf_misc.h
  89. +0 −183 ext/dbase/dbf_ndx.c
  90. +0 −98 ext/dbase/dbf_ndx.h
  91. +0 −182 ext/dbase/dbf_rec.c
  92. +0 −10 ext/dbase/dbf_rec.h
  93. +0 −55 ext/dbase/php_dbase.h
  94. +0 −4 ext/dbase/setup.stub
  95. +0 −650 ext/ereg/ereg.c
  96. +0 −71 ext/ereg/php_ereg.h
  97. +0 −14 ext/ereg/php_regex.h
  98. +0 −20 ext/ereg/regex/COPYRIGHT
  99. +0 −145 ext/ereg/regex/Makefile.in
  100. +0 −32 ext/ereg/regex/README
  101. +0 −92 ext/ereg/regex/WHATSNEW
  102. +0 −31 ext/ereg/regex/cclass.h
  103. +0 −102 ext/ereg/regex/cname.h
  104. +0 −242 ext/ereg/regex/debug.c
  105. +0 −14 ext/ereg/regex/debug.ih
  106. +0 −1,019 ext/ereg/regex/engine.c
  107. +0 −35 ext/ereg/regex/engine.ih
  108. +0 −510 ext/ereg/regex/main.c
  109. +0 −19 ext/ereg/regex/main.ih
  110. +0 −76 ext/ereg/regex/mkh
  111. +0 −1,546 ext/ereg/regex/regcomp.c
  112. +0 −48 ext/ereg/regex/regcomp.ih
  113. +0 −124 ext/ereg/regex/regerror.c
  114. +0 −12 ext/ereg/regex/regerror.ih
  115. +0 −502 ext/ereg/regex/regex.3
  116. +0 −233 ext/ereg/regex/regex.7
  117. +0 −106 ext/ereg/regex/regex.dsp
  118. +0 −29 ext/ereg/regex/regex.dsw
  119. +0 −79 ext/ereg/regex/regex.h
  120. +0 −304 ext/ereg/regex/regex.mak
  121. +0 −138 ext/ereg/regex/regex2.h
  122. +0 −140 ext/ereg/regex/regexec.c
  123. +0 −37 ext/ereg/regex/regfree.c
  124. +0 −316 ext/ereg/regex/split.c
  125. +0 −475 ext/ereg/regex/tests
  126. +0 −22 ext/ereg/regex/utils.h
  127. +0 −72 ext/ext_skel
  128. +0 −6 ext/fdf/Makefile.am
  129. +0 −2  ext/fdf/config.h.stub
  130. +0 −39 ext/fdf/config.m4
  131. +0 −570 ext/fdf/fdf.c
  132. +0 −65 ext/fdf/php3_fdf.h
  133. +0 −7 ext/fdf/setup.stub
  134. +0 −6 ext/filepro/Makefile.am
  135. +0 −2  ext/filepro/config.h.stub
  136. +0 −17 ext/filepro/config.m4
  137. +0 −540 ext/filepro/filepro.c
  138. +0 −58 ext/filepro/php_filepro.h
  139. +0 −5 ext/filepro/setup.stub
  140. +0 −5 ext/ftp/Makefile.am
  141. +0 −2  ext/ftp/config.h.stub
  142. +0 −18 ext/ftp/config.m4
  143. +0 −876 ext/ftp/ftp.c
  144. +0 −146 ext/ftp/ftp.h
  145. +0 −738 ext/ftp/php_ftp.c
  146. +0 −77 ext/ftp/php_ftp.h
  147. +0 −17 ext/gd/Makefile.am
  148. +0 −9 ext/gd/config.h.stub
  149. +0 −167 ext/gd/config.m4
  150. +0 −1,809 ext/gd/gd.c
  151. +0 −201 ext/gd/gdcache.c
  152. +0 −87 ext/gd/gdcache.h
  153. +0 −878 ext/gd/gdttf.c
  154. +0 −16 ext/gd/gdttf.h
  155. +0 −108 ext/gd/php3_gd.h
  156. +0 −6 ext/gd/setup.stub
  157. +0 −6 ext/gettext/Makefile.am
  158. +0 −3  ext/gettext/config.h.stub
  159. +0 −45 ext/gettext/config.m4
  160. +0 −158 ext/gettext/gettext.c
  161. +0 −57 ext/gettext/php3_gettext.h
  162. +0 −6 ext/gettext/setup.stub
  163. +0 −6 ext/hyperwave/Makefile.am
  164. +0 −2  ext/hyperwave/config.h.stub
  165. +0 −18 ext/hyperwave/config.m4
  166. +0 −194 ext/hyperwave/debug.h
  167. +0 −4,859 ext/hyperwave/hg_comm.c
  168. +0 −212 ext/hyperwave/hg_comm.h
  169. +0 −3,678 ext/hyperwave/hw.c
  170. +0 −117 ext/hyperwave/hw_error.h
  171. +0 −165 ext/hyperwave/php3_hyperwave.h
  172. +0 −6 ext/hyperwave/setup.stub
  173. +0 −6 ext/icap/Makefile.am
  174. +0 −2  ext/icap/config.h.stub
  175. +0 −25 ext/icap/config.m4
  176. +0 −955 ext/icap/php3_icap.c
  177. +0 −57 ext/icap/php3_icap.h
  178. +0 −6 ext/imap/Makefile.am
  179. +0 −2  ext/imap/config.h.stub
  180. +0 −63 ext/imap/config.m4
  181. +0 −2,692 ext/imap/imap.c
  182. +0 −86 ext/imap/imap.h
  183. +0 −7 ext/imap/setup.stub
  184. +0 −15 ext/informix/Makefile.am
  185. +0 −9 ext/informix/config.h.stub
  186. +0 −80 ext/informix/config.m4
Sorry, we could not display the entire diff because too many files (653) changed.
View
149 CODING_STANDARDS
@@ -1,149 +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.
-This is an initial version - it'll most probably grow as time passes.
-
-
-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. _php3_addslashes())
-
-[5] Use php3_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 functions implementation should be prefixed with
- "php3_", and followed by a word or an underscore-delimited list of words,
- in lowercase letters, that describes the function.
-
-[2] Function names used by user functions implementations should be prefixed
- with "_php3_", 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'.
-
-[3] 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++) ...).
-
-[4] 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 she's 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.
-
-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 */
-void php3_abs(INTERNAL_FUNCTION_PARAMETERS) {
- ...
-}
-/* }}} */
-
-The {{{ symbols are the default folding symbols for the folding mode in
-Emacs. vim will soon have support for folding as well. 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]]])
-
-And yes, please keep everything on a single line, even if that line is massive.
-
-
View
3  CREDITS
@@ -1,3 +0,0 @@
-For the list of people who've put work into PHP 4.0, please see
-http://www.php.net/version4/credits.php
-
View
218 ChangeLog
@@ -1,218 +0,0 @@
-PHP 4.0 CHANGE LOG ChangeLog
-|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-
-?? ?? 1999, Version 4.0 Beta 3
-- Generalized server-API build procedure on UNIX (Stig)
-- Added '--disable-rpath' option (Sascha)
-- Added AOLserver SAPI module (Sascha)
-- Fixed XML Callbacks. (Thies)
-- Updated ODBC to use the new high-performance Zend function API (kara)
-- Updated zlib to use the new high-performance Zend function API. (Stefan)
-- Updated preg_split() to allow returning only non-empty pieces (Andrei)
-- Updated PCRE to use the new high-performance Zend function API (Andrei)
-- Updated session, dba, mhash, mcrypt, sysvshm, sysvsem, gettext modules to use
- the new high-performance Zend function API (Sascha)
-- Extended var_dump to handle resource type somewhat (Andrei)
-- Updated WDDX to use the new high-performance Zend function API (Andrei)
-- Updated XML to use the new high-performance Zend function API. (Thies)
-- Updated Oracle to use the new high-performance Zend function API. (Thies)
-- Improved the performance of the MySQL module significantly by using the new
- high-performance Zend function API. (Zeev)
-- Add support for the Easysoft ODBC-ODCB Bridge (martin@easysoft.com)
-- Fix bug in odbc_setoption, getParameter call incorrect (martin@easysoft.com)
-- Ora_Fetch_Into now resets the returned array in all cases (Thies)
-- Fixed NULL-Column problem in Oracle-Driver (Thies)
-- Added extra metadata functions to ODBC, SQLTables etc (nick@easysoft.com)
-- Fixed SEGV in mcal make_event_object() and
- typo in mcal_list_alarms() (Andrew Skalski)
-- Fixed Ora_PLogon (Thies)
-- Resourcified Oracle (Thies)
-- Implemented object serialization/deserialization in WDDX (Andrei)
-- Added krsort() function (Thies)
-- Added func_num_args(), func_get_arg() and func_get_args() for standard
- access to variable number of arguments functions (Zeev)
-- Added FTP support (Andrew Skalski)
-- Added optional allowable_tags arguments to strip_tags(), gzgetss() and
- fgetss() to allow you to specify a string of tags that are not to be
- stripped (Rasmus)
-- Upgraded var_dump() to take multiple arguments (Andrei)
-- Resourcified XML (Thies)
-- Fixed a memory leak in the Apache per-directory directives handler (Zeev)
-- Added array_count_values() function. (Thies)
-- snmp, pgsql, mysql and gd modules can be built as dynamically loaded
- modules (Greg)
-- OCI8 fix for fetching empty LOBs (Thies)
-- Added user-level callbacks for session module (Sascha)
-- Added support for unknown POST content types (Zeev)
-- Added "wddx" serialization handler for session module (Sascha)
- (automatically enabled, if you compile with --with-wddx)
-- Fixed unserializing objects (Thies)
-- PHP 4.0 now serializes Objects as 'O' (not understood by PHP 3.0), but
- unserializes PHP 3.0 serialized objects as expected. (Thies)
-- Made serialize/unserialize work on classes. If the class is known at
- unserialize() time, you'll get back a fully working object! (Thies)
-- Reworked preg_* functions according to the new PCRE API, which also made
- them behave much more like Perl ones (Andrei)
-- Made it possible to specify external location of PCRE library (Andrei)
-- Updated bundled PCRE library to version 2.08 (Andrei)
-- count()/is_array/is_object... speedups. (Thies)
-- OCI8 supports appending and positioning when saving LOBs (Thies)
-- Added metaphone support (Thies)
-- OCI8 doesn't use define callbacks any longer. (Thies)
-- OCI8 Driver now supports LOBs like PHP 3.0. (Thies)
-- var_dump now dumps the properties of an object (Thies)
-- Rewrote the GET/POST/Cookie data reader to support multi-dimensional
- arrays! (Zeev)
-- Renamed allow_builtin_links to expose_php (defaults to On). This directive
- tells PHP whether it may expose its existence to the outside world, e.g.
- by adding itself to the Web server header (Zeev)
-- Added support for transparent session id propagation (Sascha)
-- Made WDDX serialize object properties properly (Andrei)
-- Fixed WDDX mem leak when undefined variable is passed in
- for serialization (Andrei)
-- Added session_unset() function (Andrei)
-- Fixed double session globals shutdown crash (Andrei)
-- Fixed crash related to ignore_user_abort ini entry (Andrei)
-- Added support for external entropy sources for session id creation
- (on Unices /dev/random and /dev/urandom) (Sascha)
-- Added gpc_globals variable directive to php.ini. By default it is On, but
- if it is set to Off, GET, POST and Cookie variables will not be inserted
- to the global scope. Mostly makes sense when coupled with track_vars (Zeev)
-- Added versioning support for shared library (Sascha)
- This allows concurrent use of PHP 3.0 and PHP 4.0 as Apache modules. See
- the end of the INSTALL file for more information.
-- Added second parameter to array_keys which specifies search value
- for which the key should be returned (Andrei)
-- Resourcified Informix driver (Danny)
-- New resource handling for odbc, renamed to php_odbc.[ch]
-- Make set_time_limit() work on Unix (Rasmus)
-- Added connection handling support (Rasmus)
-- Improved the Sybase-CT module to make use of resources (Zeev)
-- Improved the mSQL module to make use of resources (Zeev)
-- Changed mysql_query() and mysql_db_query() to return false in case of saving
- the result set data fails (Zeev)
-- Improved the resource mechanism - resources were not getting freed as soon
- as they could (Zeev)
-- Added shared memory module for session data storage (Sascha)
-- Fixed session.auto_start (Sascha)
-- Fixed several problems with output buffering and HEAD requests (Zeev)
-- Fixed HTTP Status code issue with ISAPI module (Zeev)
-- Fixed a problem that prevented $GLOBALS from working properly (Zeev, Zend
- library)
-- Ported newest GetImageSize (Thies)
-- Added session compile support in Win32 (Andi)
-- Added -d switch to the CGI binary that allows overriding php.ini values
- from the command line (Zeev)
-- Fixed a crash that would occur if wddx_deserialize did not receive
- a valid packet (Andrei)
-- Fixed a bugglet when redefining a class at run-time (Andi, Zend library)
-- Fixed sem_get() on AIX (Sascha)
-- Fixed fopen() to work with URL's in Win32 (Andi & Zeev)
-- Fixed include_path for Win32 (Andi, Zend library)
-- Fixed bug in ISAPI header sending function (Charles)
-- Fixed memory leak when using undefined values (Andi & Zeev, Zend library)
-- Added output_buffering directive to php.ini, to enable output buffering
- for all PHP scripts - default is off (Zeev).
-- Fixed some more class inheritance issues (Zeev, Zend library)
-- Fixed Apache build wrt to shared modules on FreeBSD/Linux (Sascha)
-- Added session.extern_referer_chk which checks whether session ids were
- referred to by an external site and eliminates them (Sascha)
-- Improved session id generation (Sascha)
-- Improved speed of uniqid() by using the combined LCG and removing
- the extra usleep() (Sascha)
-- Introduced general combined linear congruential generator (Sascha)
-- Made ldap_close back into an alias for ldap_unbind (Andrei)
-- OciFetchInto now resets the returned array in all cases (Thies)
-- Fixed mysql_errno() to work with recent versions of MySQL (Zeev)
-- Fixed a problem with define() and boolean values (Zeev)
-- Fixed inclusion of gd/freetype functions (Sascha)
-- Fixed persistency of MHASH_* constants (Sascha)
-- Oracle is now ZTS-Safe (Thies)
-- Fixed flushing of cached information to disk in DBA's DB2 module (Sascha)
-- OCI8 is now ZTS-Safe (Thies)
-- Fixed is_writeable/is_writable problem; they are both defined now (Andrei)
-- Imported PHP 3.0 diskfreespace() function (Thies)
-- Fixed thread-safety issues in the MySQL module (Zeev)
-- Fixed thread-safe support for dynamic modules (Zeev)
-- Fixed Sybase CT build process (Zeev)
-
-August 9 1999, Version 4.0 Beta 2
-- Fixed a problem when sending HTTP/1.x header lines using header() (Zeev)
-- Win32 builds now include the ODBC module built-in (Zeev)
-- Fixed SYSV-SHM interface (Thies).
-- Updated hyperwave module, made it thread safe
-- Updated pdflib module, version 0.6 of pdflib no longer supported
-- Updated fdf module
-- Built-in phpinfo() links are now turned off by default. They can be turned
- on using the allow_builtin_links INI directive (Zeev)
-- Changed phpinfo() to list modules that have no info function (Zeev)
-- Modified array_walk() function so that the userland callback is passed
- a key and possible user data in addition to the value (Andrei)
-- Fixed ldap_search(), ldap_read() and ldap_list() (Zeev)
-- Fixed Apache information in phpinfo() (sam@breakfree.com)
-- Improved register_shutdown_function() - you may now supply arguments that
- will be passed to the shutdown function (Zeev)
-- Improved call_user_func() and call_user_method() - they now support passing
- arguments by reference (Zeev)
-- Fixed usort() and uksort() (Zeev)
-- Fixed md5() in the Apache module (Thies)
-- Introduced build process for dynamic modules (Stig)
-- Improved ISAPI module to supprt large server variables (Zeev)
-- Imported PHP 3.0 fixes for problem with PHP as a dynamic module and Redhat
- libc2.1 in zlib module (Stefan)
-- Fixed sybase_fetch_object() (Zeev)
-- Made the IMAP module work with PHP 4.0 (Zeev)
-- Fixed a problem with include()/require() of URLs (Sascha, Zeev)
-- Fixed a bug in implode() that caused it to corrupt its arguments (Zeev)
-- Added get_class($obj), get_parent_class($obj) and method_exists($obj,"name")
- (Andi & Zeev)
-- Fixed various inheritance problems (Andi & Zeev, Zend library)
-- Children now inherit their parent's constructor, if they do not supply a
- constructor of their own.
-- Fixed runtime inheritance of classes (parent methods/properties were
- overriding their children) (Zeev, Zend library)
-- Fixed backwards incompatibility with the "new" operator (Andi, Zend library)
-- Fixed bugs in uksort() and ksort() sort ordering (Andrei)
-- Fixed a memory leak when using assignment-op operators with lvalue of type
- string (Zeev, Zend library)
-- Fixed a problem in inheritance from classes that are defined in include()d
- files (Zeev, Zend library)
-- Fixed a problem with the PHP error handler that could result in a crash
- on certain operating systems (Zeev)
-- Apache php_flag values only recognized 'On' (case sensitive) - changed
- to case insensitive (Zeev)
-- Fixed a memory leak with switch statement containing return statements
- (Andi & Zeev, Zend library)
-- Fixed a crash problem in switch statements that had a string offset
- as a conditional (Andi & Zeev, Zend library)
-- Imported PHP 3.0 fixes for rand() and mt_rand() (Rasmus)
-- Added function entries for strip_tags() and similar_text() (Andrei)
-- Fixed a bug in WDDX that would cause a crash if a number was passed in
- instead of a variable name (Andrei)
-- Ported strtotime() function from PHP 3.0 (Andrei)
-- Merged in gdttf stuff from PHP 3.0 (Sascha)
-- buildconf now checks your installation (Stig)
-- XML module now built dynamically with --with-xml=shared (Stig)
-- Added a check for freetype.h - fixed build on RedHat 6.0 (Zeev)
-- Fixed array_walk() to work in PHP 4.0 (Andrei)
-- Ported all remaining date() format options from PHP 3.0 (Andrei)
-- $php_errormsg now works (Andrei)
-- Added locale support for Perl Compatible Regexp functions (Andrei)
-- Informix module ported (Danny)
-- Removed --with-shared-apache (Sascha)
-- Added patch for reverse lookup table in base64_decode (Sascha)
- Submitted by bfranklin@dct.com
-- Merged in PHP 3.0 version of str_replace (Sascha)
-- Added DBA module (Sascha)
-- Added session id detection within REQUEST_URI (Sascha)
-- Merged in HP-UX/ANSI compatibility switch from PHP 3.0 (Sascha)
-- Fixed rpath handling for utilitites built during Apache build (Sascha)
-- Added missing E_ error level constants (Zeev, Zend library)
-- Fixed a bug in sending multiple HTTP Cookies under Apache (Zeev)
-- Fixed implicit connect on the MySQL, mSQL, PostgreSQL and Sybase
- modules (Zeev)
-- Gave PHP 4.0's SNMP extension all the functionality of PHP 3.0.12 (SteveL)
-
-
-July 19 1999, Version 4.0 Beta 1
-- First public beta of PHP 4.0
View
860 ChangeLog.3
@@ -1,860 +0,0 @@
-PHP 3.0 CHANGE LOG ChangeLog
-|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-
-December 24 1998, Version 3.0.6
-- Fix GetImageSize() to work with non-standard jpg images
-- Add Mersenne Twister functions (mt_rand, mt_srand, etc)
-- Add str_replace() function
-- Add chunk_split() function
-- Fixed a bug in the memory limit code, in cases where $php_errormsg was
- also used.
-- Add iptcparse() function
-- Adobe FDF supported
-- getallheaders() NULL string fix <michale@utko.fee.vutbr.cz>
-- Add all configuration directives to phpinfo() page
-- Functions pack() and unpack() rewritten to be binary and buffer overrun
- safe and behave like the Perl functions for all implemented format codes.
-- Ensured that msql_error() will not return error messages generated by
- previously-run scripts.
-- Add base_convert() function
-- Make sprintf() and printf() output binary safe
-- Made gzgetc binary safe
-- Add convert_cyr_string() and quoted_printable_decode() functions
-- Fix ldap_free_result() core dump bug
-- Add support for current OpenLDAP-2.0-devel library
-- Add php3_asp_tags directive so it can be set from Apache config files
-- Added UTF-8 support in the XML extension
-- Make rand(min,max) safer on older platforms where the low-order bits have
- short cycles.
-- Added new pdf (Portable Document Format) module
-- Added an XML parsing extension using James Clark's "expat" library
-- Optimized parts of the token cache code.
-- Terminate on out-of-memory errors. Until now, PHP could crash in out of
- memory situations (clean-up, no real effect).
-- Unterminated comments in include files were being reported with the wrong line
- number. Fixed.
-- Added ImageCopy() and ImageColorDeallocate(). ImageCopy() is about
- 20% faster than ImageCopyResized(). ImageColorDeallocate() marks
- palette entries free for reuse (by <mka@satama.com>).
-- In the CGI version, it was impossible to access resources (e.g. SQL links,
- images) from user-defined shutdown functions. Fixed.
-- Added optional third parameter to strpos() to specify the offset to
- start searching from.
-- Fixed a crash bug in unset() when unsetting illegal variables (rare).
-- Made ImageInterlace and ImageTransparentColor parameters optional, and made
- them return the current/new settings.
-- Optimized GetImageSize() <thies@digicol.de>.
-- Made odbc_autocommit() without args return status
-- Added connect workaround for OpenLink ODBC
-- Added minimal InterBase support. Tested only on 4.0 & Linux.
-- Fixed some memory leaks and bogus error messages in the URL handler of
- the various file open functions. Should only affect error handling
- in bad URLs.
-
-October 5 1998 Version 3.0.5
-- mysql_field_flags now reports all MySQL flags and the result is suitable
- for automatic parsing. Compatibility warning: The result format has
- changed. If you have scripts parsing the result of this function, you
- may need to adapt them.
-- Made nl2br() binary safe (not that it's of much use).
-- Fixed a bug in the API function getThis(). It affected mostly the dir
- functions, if nested within objects.
-- Fixed a problem in require() in conjunction with switch(), and in some other
- cases. Also fixed an identical problem with the call_user_function() API
- function.
-- Removed -lpthread when compiling with MySQL support. It caused various
- serious problems when compiled into Apache.
-- Add serialize() and unserialize() functions from jkl@njet.net
-- Fix in_addr_t check for systems with in_addr_t in netinet/in.h
-- Add atan2() function
-
-September 22 1998 Version 3.0.4
-- Added uksort() - array key sort using a user defined comparison function.
-- Added 'j' support to date() - generates the day of the month, without
- possible leading zeros.
-- Added support for multiple crypt() encryptions if the system supports it
-- Added optional support for ASP-style <% %> and <%= tags
-- Fixed data loss problems with very large numeric array indices on 64-bit
- platforms (e.g. DEC UNIX).
-- 2 cursor_type parameters for ifx_query() and ifx_prepare changed
- to 1 (bitmask). Added a few constants for use in Informix module.
-- Added php3.ini option ifx.charasvarchar. If set, trailing blanks
- are stripped from fixed-length char columns. (Makes life easier
- for people using Informix SE.)
-- Static SNMP module which compiles with ucd-snmp 3.5.2
-- fixed imap_header & header_info from crashing when a header line
- is > 1024 characters.
-- Added patch for rfc822_parse_adr to return an array of objects instead
- of a single object.
-- Informix Online 7.x & SE 7.x support now fairly complete and stable
-- Add dbase_get_record_with_names() function
-- Added a special case for open_basedir. When open_basedir is set to "."
- the directory in which the script is stored will be used as basedir.
-- Include alloca.c in the distribution for platforms without alloca().
-- Improved stripping of URL passwords from error messages - the length of the
- username/password isn't obvious now, and all protocols are handled properly
- (most importantly, http).
-- Copying objects that had member functions with static variables produced
- undetermined results. Fixed.
-- Added function lstat() and cleaned up the status functions,
- added tests for file status functions (this may break on some plattforms)
-- Fixed is_link() - it was returning always false.
-- Fixed apache_note() - it was corrupting memory.
-- New Function. void get_meta_tags(string filename); Parses filename until
- closing head tag and turns all meta tags into variables prefixed with 'meta_'.
- The below meta tag would produce $meta_test="some string here"
- <meta name="test" content="some string here">
-- Generalized some internal functions in order to better support calling
- user-level functions from C code. Fixes a few sporadic problems related
- to constructors inside eval() and more.
-- Fixed an endless loop in explode(), strstr() and strpos() in case of an
- invalid empty delimiter.
-- rand() now accepts two optional arguments, which denote the requested range
- of the generated number. E.g., rand(3,7) would generate a random number
- between 3 and 7.
-- Added M_PI constant.
-- Added deg2rad() and rad2deg() for converting radians<->degrees.
-- ImageArc() misbehaved when given negative angles, fixed.
-- Fixed a bug in ereg() that may have caused buglets under some circumstances.
-- Added imap_status
-- Shutdown functions, registered via register_shutdown_function(), could never
- generate output in the Apache module version. Fixed.
-- Brought IMAP docs into sync with acutal imap code
-- imap_fetchstructure now takes in optional flags
-- Fix potential core dumps in imap_append and imap_fetchtext_full
-- Fix problem in SetCookie() function related to long cookies
-- Add uasort() function to go along with usort (like sort() and asort())
-- Add port number to Host header as per section 14.23 of the HTTP 1.1 RFC
-- Fix imap_reopen to only take 2 arguments with an optional 3rd flags arg
-- Add optional 2nd argument to imap_close
-- Add CL_EXPUNGE flag to imap_open() flags
-- Fix 4th arg on imap_append(). It was getting converted to a long by mistake.
-- Fix shutdown warning in the LDAP module
-- *COMPATIBILITY WARNING* imap_fetchstructure() "parametres" object and property
- name changed to "parameters" to match the documentation and to be consistent
- with the rest of the API.
-- Delete uploaded temporary files automatically at the end of a request
-- Add upload_max_filesize and correponsing php3_upload_max_filesize directive
- to control the maximum size of an uploaded file. Setting this to 0 would
- completely eliminate file uploads.
-- Force $PHP_SELF to PATH_INFO value when running in CGI FORCE_CGI_REDIRECT mode
-- Add apache_lookup_uri() function which does an internal sub-request lookup
- and returns an object containing the request_rec fields for the URI. (Yes,
- you have to be a bit of a gearhead to figure this one out)
-- Fix a few signed char problems causing functions like ucfirst() not to work
- correctly with non-English charsets
-- md5() function not binary safe - fixed
-
-August 15 1998 Version 3.0.3
-- Changed the name of fopen_basedir to open_basedir, to be a little more
- accurate about what it does.
-- Added Hyperwave module
-- Added config-option (php3_)enable_dl <on/off>. This enables/disables the
- dl() function. In safe-mode dl() is always disabled.
-- Auto-prepended files were crashing under some circumstances - fixed.
-- Win32 mail fixes provided by walton@nordicdms.com
-- Comparing between arrays and/or objects now generates a warning (it always
- returns false, as it used to; no comparison is made)
-- Fixed a bug in the syntax highlighting code, that made ending-double-quotes
- appear twice under certain circumstances.
-- Fix bug in filetype() function related to symlinks
-- Started integrating Informix SE support to PHP configure/makefile setup.
-- gdttf roundoff fixes from ellson@lucent.com
-- Added initial Informix SE support files from Danny Heijl - This code still
- needs to be integrated into the PHP configure/makefile setup and the code
- itself needs more work.
-- return in the global scope now terminates the execution of the current file.
-- Added the ability to register shutdown function(s), via
- register_shutdown_function($function_name).
-- Clean up const warnings
-- Add write support to ftp fopen wrappers
-- Add strspn() and strcspn() functions
-- On systems without strerror use Apache version if compiling as Apache module
-- The PHP start tag was being ignored under some circumstances - fixed.
-- The db, dbase and filepro functions are now Safe-Mode aware.
-- Added config-option (php3_)fopen_basedir <path>. This limits the directory-
- tree scripts can open files in to <path>.
-- Fixed pg_loreadall that didn't always return all the contents in a PostgreSQL
- large object. Also, doesn't pass through anything if method is HEAD.
-- configure fix to create target Apache module dir
-- Fix core dump in imageTTFtext() function
-- Added static IMAP support
-- Syntax highlighting was generating additional whitespace - fixed.
-- Added ucwords. Works like ucfirst, but works on all words within a string.
-- Added array_walk() - apply user function to every element of an array
-- Added usort() - array sort that accepts a user defined comparison function!
-- Added the ability to call user-level functions and object methods on demand
- from the C source using a completely generalized, slick API function.
- Miracles do happen every once in a while.
-- Added constructors. Don't even squeek about destructors! :) (we mean that)
-- Make pg_lowrite() binary safe
-- Fixed mod_charset option in ./setup
-- Fixed rewinddir() and dir()::rewind() under Win32 (they didn't work before).
-- Add Win32 COM support! By-name referencing is supported using the IDispatch
- interface (automation). Available functions - COM_Load(), COM_Invoke(),
- COM_PropGet() and COM_PropSet().
-
-July 20 1998 Version 3.0.2a
-- Fix a quirk in the configuration file parser, the endless fountain of joy
- and fun.
-- Fix a bug in the API function add_method() that made dir() crash.
-
-July 18 1998 Version 3.0.2
-- Compile cleanups for *BSD
-- Add support for the OpenLink ODBC Drivers
-- Add PHP_SELF, PHP_AUTH_* and HTTP_*_VARS PHP variables to phpinfo() output
-- Add workaround for broken makes
-- Add Apache 1.3.1 support (some Apache header files were moved around)
-- Added apache_note() function.
-- Fix order of system libraries and detect libresolv correctly
-- Fixed a bug in the Sybase-DB module. Several numeric field types were
- getting truncated when having large values.
-- Added testpages for unified odbc
-- Fix php -s seg fault when filename was missing
-- Made getdate() without args default to current time
-- Added ImageColorResolve() and some fixes to the freetype support.
-- Added strcasecmp()
-- Added error_prepend_string and error_append_string .ini and .conf directives
- to make it possible to configure the look of error messages displayed by PHP
- to some extent
-- Added E_ERROR, E_WARNING, E_NOTICE, E_PARSE and E_ALL constants, that can be
- used in conjunction with error_reporting()
- (e.g. error_reporting(E_ERROR|E_WARNING|E_NOTICE);
-- Fixed a crash problem with classes that contained function(s) with default
- values.
-- Fixed a problem in the browscap module. Browscap files weren't being read
- properly.
-- Fix -L path in libphp4.module to make ApacheSSL compile without errors
-- Fix StripSlashes so it correctly decodes a \0 to a NUL
-
-July 04 1998 Version 3.0.1
-- echo/print of empty strings don't trigger sending the header anymore.
-- Implemented shift left and shift right operators (<< and >>)
-- Compile fix for cc on HP-UX.
-- Look for beta-version Solid libraries as well.
-- Make GD module show more info in phpinfo().
-- Compile fix for NextStep 3.0.
-- Fix for Oracle extension on OSF/1.
-- Fix gd 1.3 bug in ImageColorAt().
-- pg_loread() hopefully handles binary data now.
-- Turned off some warnings in dns.c
-- Added ImageTTFBBox() and made ImageTTFText() return bounding box.
-- Added constants for Ora_Bind()'s modes.
-- Renamed all hash_*() routines to _php3_hash_*() to avoid clashes with other
- libraries.
-- Changed uodbc default LONG behaviour: longreadlen 4096 bytes, binmode 1.
- The module now actually uses the php.ini settings.
-- New PostgreSQL functions: pg_fetch_row(), pg_fetch_array()
- and pg_fetch_object()
-- Fix a segmentation fault when calling invalid functions in certain
- circumstances
-- Fix bug that caused link-related functions to not pay attention to
- run-time safe mode setting (it was using whatever was set at compile time).
-- Fix bug in exec() function when used in safe mode
-
-June 6 1998 Version 3.0
-- Add checkdnsrr function (check availability DNS records)
-- Add getmxrr function (get MX hostnames and weights)
-- Fixed bug in nl2br() function
-- Fix for an RC5 related problem in the Sybase module, when dealing
- with very long data types.
-- Speed up string concatenation by roughly a factor of 2
-- Add escape-handling to date function
-- Make base64 functions binary safe
-- Add strrpos function to complement strpos function added in RC5
-- Add ltrim function (strips only at the start of string)
-- Add rtrim as an alias to chop() for completeness sake
-- Add trim function (similar to chop, except it strips at the start as well)
-- Added 2 optional args to fsockopen function - errno and errstr
-- Fixed bug in split() function related to leading matches
-- Fixed problem in error_log() function (thanks to Jan Legenhausen)
-- empty("0") was returning true - fixed
-- Removed the old sybsql module. Use the new sybase_*() functions instead.
-- Several fixes to the configuration file parser
-- LDAP fixes - fixed return values on several functions
-
-May 23 1998 Version 3.0RC5
-- The BC math library functions now compile in by default.
-- Fixed a bug in virtual() and other types of SSI's (e.g. <!--#exec). Under
- certain circumstances, this used to result in random problems.
-- Fixed a bug in virtual(). It was misbehaving if it was called before any
- other output.
-- Added mysql.default_port, mysql.default_host, mysql.default_user and
- mysql.default_password ini-file directives.
-- Improved handling of the MySQL default port. It now honors /etc/services
- and $MYSQL_TCP_PORT.
-- Fixed a crash in opening of broken ftp:// URLs, and improved error reporting
- in opening of URLs.
-- Fixed several non-critical scanner issues with syntax highlighting mode and
- the <script language=php> tag.
-- Fixed fseek on windows. (windows only): fseek will not return proper results
- on files opened as text mode. PHP uses binary mode as the default for file
- operations, but this can be overiden by fopen. Do not open files in text
- mode and use fseek on them!
-- Add strpos() function
-- Added zlib module, requires zlib >= 1.0.9
-- Improved the module API implementation. Dynamic modules may now register
- persistent resources (not that it makes much sense, but at least PHP
- won't crash). The API itself remains unchanged.
-- bcmod() wasn't always behaving like modulus should behave (it was behaving
- exactly like GNU bc's % operator). Fixed.
-- Changed the Sybase-DB module to always return strings, instead of auto-typing
- result sets. This was done for consistency with the other database modules,
- and in order to avoid overflows due to the platform-dependant limitations
- of the numeric data types of PHP. You can turn compatability mode on using
- the sybase.compatability_mode directive in the php3.ini file.
-- Fixed problems with the TINYINT field in the Sybase-CT module.
-- Applied some small speed optimizations to the Sybase-DB module querying code.
-- Added 'numeric' and 'type' properties to the object returned by
- sybase_fetch_field().
-- The 'new' operator doesn't accept all expressions anymore. Instead, it
- accepts a class name, or a variable reference (scalar, array element, etc).
-- Add ora_numcols() function
-- Add ora_do() and ora_fetch_into() functions to Oracle driver
-- Add persistent connection support to Oracle driver
-- Make Oracle driver clean up open connections and open cursors automatically
-- Added fread() and fwrite() that properly handle binary data.
-- Add Ora_ColumnSize() to Oracle code
-- The string "0" means FALSE again. This was done in order to maintain type
- conversion consistency.
-- Added solid_fetch_prev() for fetching the previous result row from Solid.
-- Huge integers are now automatically converted to floating point numbers
- (that have a wider range).
-- Floating point numbers are now displayed using scientific notation when
- they're extremely big or extremely small. The 'precision' php3.ini directive
- no longer designates the number of decimal digits, but rather, the maximum
- number of significant digits required.
-- Added support for scientific notation for floating point numbers (e.g. 1E7)
- throughout the entire language.
-- Fixed a potential/probable memory corruption problem with HEAD request
- handling.
-- Using un-encapsulated strings now generates a NOTICE-level warning
- (e.g. $a = foo; instead of $a = "foo";)
-- Added defined("name") function to check if a certain constant is defined
- or not.
-- Support new Apache mechanism for setting SERVER_SUBVERSION
-- Added PHP_OS and PHP_VERSION constants
-- Added the ability to define constants in runtime! Constants are script-wide,
- (there's no scope, once the constant is defined, it's valid everywhere).
- Syntax is define("name", $value [, $case_insensitive]). 'name' can be any name
- that is a valid variable name, *without* the $ prefix. 'value' can be
- any *scalar* value. If the optional 'case_insensitive' parameter is 1,
- then the constant is created case-insensitive (the default is case
- sensitive). Note: define() is currently *NOT* supported in preprocessed
- scripts.
-- Added general support for constants. The Syslog constants (e.g.
- LOG_ERR, LOG_CRIT, etc.) should be accessed as constants from now on (that
- is, without a $ prefix). You can still set define_syslog_variables to On
- in the php3.ini file if you want to define the various $ variables. The
- default for this directive in the php3.ini-dist file has been changed to
- Off.
-- The configuration file path variable now expands . and .. into their
- respective directories. You can obtain the path of the php3.ini file
- that was used by printing get_cfg_var("cfg_file_path").
-- Fixed a crash-recovery parser crash ($a=7; $a[3]+=5;)
-- Add gmmktime() function
-- Fixed a crash with implode() and empty arrays.
-- Fixed a bug that, under fairly rare circumstances, caused PHP not to
- recognize if(), require() and other statements as statements, and
- to complain about them as being unsupported functions.
-- Beautified php3.ini-dist and added more comments to it. Also changed
- the behavior of the configuration file parser to be brighter about
- the various constants (TRUE/FALSE/ON/OFF etc).
-- Fixed a bug in openlog() - the specified device name was being mangled.
-- Memory leaks were sometimes reported erroneously - fixed.
-- Improved the convertor to handle some quirks of the PHP/FI 2 parser with
- comments.
-- Fixed number_format() to properly handle negative numbers, and optimized it
- a bit.
-- Fixed static variables inside class member functions. Note that using such
- static variables inside member functions usually defeats the purpose of
- objects, so it is not recommended.
-- Fixed a bug in fpassthru() (the file was being closed twice).
-- Added strftime().
-- Add set_socket_blocking() function to control blocking on socket fd's
-- The sendmail_path in php3.ini was being ignored - fixed.
-- Fixed a bug with file upload, with files that contained the MIME boundary
- inside them.
-- Fixed a bug with form variables of type array, with spaces in their
- index (e.g. name="foo[bar bar]").
-- gd-1.3 autodetect and support
-- Year 2000 compliance is now togglable from the php3.ini file. Setting PHP
- to be y2k compliant effects the way it creates cookies, and means it'll
- NOT work with many browsers out there that are not y2k compliant! For
- that reason, the default for this option is off.
-- safe mode / fix from monti@vesatec.com
-- Integrated the FreeType support in the GD extension.
-- Added --with-gd=DIR and --without-gd options to configure
-
-April 18 1998 Version 3.0 Release Candidate 4
-- Auto-prepended and auto-appended files were reporting the wrong filename
- in errors and in __FILE__ - fixed.
-- Fix GPC problem related to mixed scalar and array vars with the same name
-- Made putenv() Apache-safe. Environment variables may no longer leak in
- between requests.
-- The trailing semicolon is no longer required in class declarations.
-- Fixed a memory leak in the (array) and (object) operators under certain
- conditions.
-- <script> tags weren't working unless short tags were enabled - Fixed.
-- Fixed a bug in certain array indices that weren't treated as numbers
- even though they looked like numbers (e.g. "10", "20").
-- Changes to support renamed API functions in Apache-1.3
-- Fixed the -p and -e command line switches
-- Fix a segfault when calling command line version without parameters
-- Fix for feof() when used on a socket
-- Fix off-by-one error in fgets() when used on a socket
-- Fix bug in ImageSetPixel() (Thanks to ecain@Phosphor.net)
-
-March 31 1998 Version 3.0 Release Candidate 3
-- Tiny bugfix for magic_quotes_sybase
-- Fix Apache build problems introduced in RC2
-- $a["0"]==$a[0] fix
-- Apache-1.3 build changes to support 100% automatic builds and shared library
- module builds. See INSTALL file.
-
-March 30 1998 Version 3.0 Release Candidate 2
-- Changed the socket implementation under UNIX to not use FILE pointers, in
- order to work around the buggy Solaris libc (and possibly buggy libc's
- in other platforms).
-- Fixed a bug in min() and max() with certain arrays.
-- *WARNING* Move Apache 1.3 php3 file install to src/modules/php4 instead of
- src/modules/extra. Make sure you change your AddModule line correctly
- in your Apache Configuration file. This change is to take advantage of
- new Apache-1.3 configuration mechanism which makes it easier to build an
- Apache server with PHP automatically enabled. It will also help building
- a shared library module version of PHP soon.
-- Fixed a crash bug with auto-appended files.
-- Made --enable-discard-path work on all Unix servers #!/path/php CGI scripts
- should now work everywhere. I have tested on Apache, WN and Netscape 2.0
-- Made $a["123"] and $a[123] be identical. $a["0123"] is still different,
- though.
-- Added 'precision' ini directive, to set the number of decimal digits
- displayed for floating point numbers (default - 6).
-- Made integer/integer divisions evaluate to floating point numbers when
- applicable (e.g., 5/2==2.5(float), but 4/2==2(int))
-- Get rid of reliance on tied streams and move all socket reads and writes
- to recv/send calls
-- Cleaned up head.c a bit and fixed CGI SetCookie order problem
-- Changed default variable parsing order to Get-Cookie-Post (GPC)
-- Fixed setup so it has all configure options and defaults.
-- Added optional decimal point and thousands seperator to number_format()
- e.g., number_format(1500,2,',','.') == 1.500,00
-- Fixed cgi bug in windows that prevented files from being parsed on many
- systems and servers.
-
-March 23 1998 Version 3.0 Release Candidate
-- Added support for the Raima database (ALPHA)
-- Fixed a bug in persistent PostgreSQL links and the connection-string method.
-- Added EXTENSION_STATUS file, that specifies the stability and status of
- every module in the distribution.
-- Added optional parameters to user functions with default values, variables
- that are forced to be passed by reference and variables that can be
- optionally passed by reference. The ini file directive
- 'ignore_missing_userfunc_args' is no longer supported.
-- Added fhttpd support (by Alex Belits)
-- Improved performance by approximately 20-30%.
-- Added mysql_error(), mysql_errno() (if available) and msql_error().
- Errors coming back from the database backend no longer issue warnings.
- Instead, use these functions to retreive the error.
-- Patched count(), each(), prev(), next(), reset() and end() to work around
- the implementation side effects of unset(). As far as the users are
- concerned, this should be transparent now (even though it's slower now,
- until it's thoroughly fixed in 3.1).
-- Added number_format(). number_format(2499,2)=='2,499.00'.
-- error_reporting() now sets the error reporting level to the supplied
- argument, without any interpretations.
-- Fixed a lookahead parser bug that occured under rare circumstances.
-- Change the comparison operators to compare numeric strings as numbers. If
- you want to compare them as strings, you can use the new C-like strcmp()
-- Fixed Ora_GetColumn() bug when fetching strings
-- Added Ora_ColumnName() and Ora_ColumnType()
-- Preliminary LONG and LONG RAW support in Oracle extension
-- Add \123 and \xAB style octal and hex escapes to "" and `` strings
-- Add "-c" command line flag for specifying path to php3.ini file
-- Improved list() so that elements can be skipped, for example:
- list($name,,,$realname) = explode(":",fgets($passwd_file));
-- Fixed a tiny bug in the hash initialization which caused excessive use of
- memory. Report and fix by short@k332.feld.cvut.cz
-- Fixed strtolower() and strtoupper() to work with 8-bit chars
-- Fixed to compile and run on SunOS 4.1
-- Fixed a crash in soundex() of an empty string
-- Fixed parse_str() - it wasn't always defining the right variables,
- and didn't work with arrays.
-- Made [m,My]SQL create/drop database functions return success status
-- Fixed some memory leak/crash problems in the Adabas module
-- Added each() in order to allow for easy and correct array traversing.
-- Make Apache module version respect LOCALE setting
-- Add support for Apache 1.3b6+ ap_config.h file
-- Fixed a nasty corruption bug in eval() and show_source() that resulted in
- script termination (e.g. eval("exit();").
-- Fixed a syntax highlighting problem with keywords used as variable
- names.
-- Fixed a possible crash and/or file descriptor leak
-- Fixed line number being off by one in #! shell style execution
-- Made it possible to disable auto_prepend/append with "none" filename
-- Allow safe CGI calling through #!php style scripts
-
-March 2 1998 Version 3.0b6
-- Made [s]printf handle %ld
-- Changed CGI version to only open regular files as input script
-- Added ignore_missing_userfunc_args directive to suppress warnings messages
- about missing arguments to user-defined functions
-- Added Postgres function - pg_cmdtuples(), by Vladimir Litovka
-- Disabled command line options if used as CGI
-- Changed CGI version to use PATH_TRANSLATED as the script file name
-- Link with solid shared library instead of static one
-- Fixed a crash with functions that aren't being called correctly
-- Fixed file descriptor leak in auto-prepend/append
-- Imap module is usable. See README in dl/imap.
-
-February 24 1998 Version 3.0b5
-- Made the URL aware file functions be enabled by default
-- Fixed an unlikely crash bug in the parser, with uninitialized array elements
- which are refered to as objects.
-- Fixed several fields that were being incorrectly read in Sybase CT.
-- Fix Apache-1.3 related SIGHUP problem which was preventing php3.ini from
- getting re-read on a SIGHUP
-- *** WARNING *** Downwards incompatible change: The plus operator (+) is not
- longer overloaded as concatenation for strings. Instead, it converts its
- arguments to numbers and performs numeric addition.
-- Add Stig and Tin's bdf2gdfont script to extra/gd directory
-- Added join() as an alias to implode()
-- Made implode() accept arguments in the order used by explode() as well
-- Made $php_errormsg local in function calls
-- Fixed Apache configuration directive bugs
-- Added a number of .ini directives to Apache .conf directive list
-- Fixed a 'memory leak' with strtok()
-- echo/print now handle binary data correctly.
-- NEW now accepts any expression for the class name argument.
-- Add ImageDashedLine() GD function
-- Add arg_separator .ini directive so the '&' GET method separator can be
- changed to ';' for example. Corresponding php3_arg_separator Apache .conf
- directive works as well.
-- Walked around an implementation side effect of switch(). <? switch(expr) { ?>
- now works.
-- Added memory caching, resulting in a significant performance boost
-- Added support for for(): .. endfor; loops
-- Added a new predicate - empty($var). Returns true if $var is not set,
- or is FALSE. Returns false otherwise.
-- Added is_integer() (same as is_long()) and is_real() (same as is_double()).
-- Added sizeof() as an alias to the count() function
-- Added --enable-force-cgi-redirect, to prevent the CGI from working if
- someone directly accesses PHP not through Apache's CGI redirect
- (off by default).
-- Fixed marking of deleted dBase records. Noticed by Simon Gornall
- <simon@oyster.co.uk>.
-- Fixed fixed "%%" bug in [s]printf
-- Fixed a UMR (initialized memory read) in the Oracle code
-- Potential fix for mysql-related SIGPIPE problem which caused httpd to spin
-- Made PHP responsive to the Apache link status (stop executing if the link
- dies).
-- Fixed a crash bug with StrongHold and secure pages
-- Fixed StrongHold installation
-- Optimized the function call sequence a bit.
-- Fixed Sybase/CT date/datetime/money fields work to correctly.
-- Fixed Apache module startup problems - php3_module_startup should only be
- called once.
-- Fixed ord() with characters >127
-- Fixed bug in file_exists() function
-- Fixed stripslashes() to remove the escaping quote (instead of backslash)
- in case magic_quotes_sybase is true.
-- Also make echo and print automatically remove trailing decimal zeros.
-- Added htmlentities(), currently handling only ISO-8859-1 entities
-- "0" is no longer considered false, the only string which is false is the
- empty string "".
-- Added 'true' and 'false' keywords
-- Added 'xor' (logical exclusive or)
-- Automatic conversion from double to string removes decimal trailing zeros.
-- Added arsort() and rsort() to sort in descending order.
-- Turned on "XLATOPT_NOCNV" by default for uODBC/Solid.
-- Added support for a port number in the mysql_(p)connect() functions
-- Fixed a file descriptor leak in the configuration parser.
-- Fixed a few buglets with syntax highlighting with certain language keywords
-- Added functions to control minimum severity level of Sybase messages to
- display.
-- Added highlight_string() - behaves like highlight_file(), only instead
- of highlighting a file, it syntax highlights the contents of its
- argument.
-- Renamed show_source() to highlight_file(). show_source() is still
- supported for downwards compatability.
-- Fixed a bug in class inheritence - member functions with upper case
- letters in their names couldn't be redefined.
-- Made chown(), chgrp() and chmod() return TRUE/FALSE instead of 0/-1.
-
-February 02 1998 Version 3.0b4
-- Fixed a segfault bug in one of the unified ODBC error messages.
-- Set default file modes to binary on Win32 (solved a lot of bs)
-- Fixed file copy on Win32
-- MIME file uploads fixed on Win32
-- Added contributed icons by Colin Viebrock (undex extra/icons)
-- Fixed the debugger enough to call it "beta code".
-- Fixed some leaks in the Oracle module, tidied up the code a bit.
-- Added __FILE__ and __LINE__ which evaluate to the currently parsed file
- and currently parsed line respectively.
-- Added ImageColorAt(), ImageColorSet(), ImageColorsForIndex(), and
- ImageColorsTotal() to allow manipulating the palette of GIF images.
-- Rename '--enable-url-includes' option to '--enable-url-fopen-wrapper' to
- better describe what it does, and pay attention to the setting.
-- Added optional parameter to the file(), readfile() and fopen() functions
- to look for files located in the include path.
-- Fixed bug that allowed the file() and readfile() to open files in the
- include path inadvertantly.
-- Fixed a (documented) bug in printf()/sprintf() with hard limited strings
- and alignment (e.g. %-.20s).
-- Optimized several quoted string routines.
-- Added error_log ini directive to select where errors get logged when
- log_errors is turned on or the error_log() function is used.
-- Added the ability to direct errors to log files instead of or in addition
- to the script output. Use the new display_errors and log_errors
- php3.ini directives.
-- Made environment variables uneraseable by POST/GET/Cookie variables.
-- Fixed a bug in the elseif() construct. The expression was being evaluated
- even if a previous if/elseif already evaluated to true and got executed.
-- Fixed a bug in the exit code parameter of system()
-- Tighten up all exec() related functions in safe mode
-- Added error_log() function to log messages to the server error log, or
- stderr for the CGI version.
-- Added support for a general memory limit of scripts.
-- Fixed a segfault bug that occured under certain circumstances with shell
- escapes ($foo = `...`)
-- Made keywords be valid property names of objects.
-- Fixed a segfault bug when creating new objects of an unknown class.
-- Fixed a problem with the maximum execution time limit, that may have
- prevented this feature from working on certain platforms.
-- PHP would now warn you with E_NOTICE about unknown escape characters,
- e.g. "\f". It would still be considered as a backslash followed by f,
- but the proper way of writing this is "\\f" or '\f'.
-- Added support for ${...} inside encapsulated strings. Supported: ${foo},
- ${foo[bar]}, ${foo[0]}, ${$foo[$bar]}, ${$foo->bar} and ${$foo}
-- Fixed a bug in automatic persistent link reconnect of the Sybase/DB module.
- Thanks to Steve Willer for finding that 'stealth' bug!
-- Fixed a crash bug in the GET/POST/Cookie parser in case of regular
- and array variables with the same name.
-- Added round() function.
-- Can't use encapsed strings as variable names anymore, ie. $"blah blah".
-- Fixed bug in gethostby*() functions that resulted in a core dump.
- (Noticed by torben@coastnet.com.)
-- Fixed bug in dbase_get_record that prevented number and date fields
- from being properly decoded. (Thanks again to colins@infofind.com.)
-- Make dbase_get_record include a 'deleted' field that indicates whether
- that record had been marked for deletion.
-- Fixed bug in dbase library that stomped on the deleted flag of the first
- record in the file if it was set. (Thanks to colins@infofind.com.)
-- Fixed putenv() to not report a memory leak and possibly prevent a bug
- from that memory being freed.
-- Added setlocale()
-- Added pg_fieldisnull() (by Stephan Duehr)
-- Changed pg_exec() to always return a result identifier on succees
-- Solid linking fixes (tries to find the right library)
-- Fixed a but with date() and the 'w' element.
-- Tried to eliminate unimportant memory leak notifications.
-- Made min() and max() backwards compatible and able to handle doubles.
-- Add fgetc() function
-- Fixed bug in getmyuid(), getmyinode() and getlastmod(). Thanks to
- khim@sch57.msk.ru for pointing this out.
-- Fixed http:// URL includes with no path specified send request for /.
-- Added GetAllHeaders() (Apache-only)
-- Added workaround that made the Image text functions 8-bit clean
-- Made snmp internally compilable for Win32 (not the unix one though),
- only adds 2k to binary size, so no reason not to have it there.
-- Fixed ldap loading on Win32
-- Fixed MySQL Info function on Win32 platform
-- Fixed compilation of syntax highlighting mode
-
-January 17 1998 Version 3.0b3
-- Added mysql support under windows ;) happy happy joy joy
-- Fixed dbase.dll for Win32 to actualy load now.
-- Enhanced the convertor to recognize ?> as a php-close-block as well.
-- Fixed potential SetCookie() core dumps
-- Changed print to be an expression instead of a statement. That means you can
- now do stuff like foobar() or print("Unable to foobar!"). echo has NOT been
- changed.
-- Removed the flex optimization flags to reduce the size of the scanner
-- Added memory leak logging into apache log files (apache module only)
-- Fixed a nasty bug in one of the internal stacks. This may have caused
- random crashes in several occassions.
-- Fixed bug in ImageGif() making it hang sometimes
-- Added ImageLoadFont(), ImageFontWidth() and ImageFontHeight()
-- error_reporting() now returns the old error reporting level
-- Fixed url includes/opens not working under Win32
-- Fixed errorneous handling of multipart/form-data input
-- Added rawurlencode(), rawurldecode() and changed urlencode() and urldecode()
- a bit too.
-- Fixed a bug in [s]printf, sign was forgotten for doubles.
-- Fixed a segfault bug in pg_fieldprtlen(), and made it accept field names
- in addition to field offsets.
-- Made the setup script a little more user-friendly.
-- Added is_long(), is_double(), is_string(), is_array() and is_object()
-- Fixed a bug in freeing of mSQL results.
-- Improved pg_exec() to properly return true or false with queries that don't
- return rows (i.e. insert, update, create, etc)
-- Added get_cfg_var() to enable checking cfg file directives from within
- a script.
-- Fixed a bug with urlencode() and characters 0x80-0xff
-- Changed the behaviour of ereg_replace to more intuitive. The
- backslashes other than valid existing back references in the second
- argument are no more evaluated as escape sequences.
-- Fixed a bug in the configuration file loader and safe mode.
-- Fixed a bug with configuration variables taken from the environment.
-- Added <script language=php> </script> as PHP open/close tags, to allow
- the use of editors such as Microsoft Frontpage.
-- Fixed a bug in the default php3.ini directory - it wasn't defaulting to
- /usr/local/lib properly.
-- Added support for \r\n line endings
-- Fixed a bug that may have prevented POST method variables from working
- with certain scripts when using the CGI version.
-- Convertor: Added support for single-quoted strings
-- Fixed segfault bug in the Adabas module, with queries that don't return
- rows (update, insert, etc).
-
-December 22 1997 Version 3.0b2
-- Changed variable type conversions that do not specify base to always use
- base 10. "010" is no more 8, it is 10. Use intval ($x, 0) to get C-style
- octal and hex numbers recognized.
-- Fixed a possible segfault bug in several functions, when using the concat
- operator and possibly other operators/functions.
-- # is no longer accepted as a comment in php3.ini. Use ; instead.
-- Added browscap support
-- Configuration file directives are now case-sensitive
-- Fixed msql_tablename() and msql_dbname()
-- Added a PHP/FI 2.0 -> PHP 3.0 convertor
-- Added support for shell/perl-style single quotes
-- Added support for execution of external programs using backquotes ($a=`ls -l`)
-- fixed mail() on windows, also fixed memory leaks in mail on windows
-- added sendmail_from to handle return route on windows
-- Changed the way the config file is searched. The file name is now
- php3.ini (hardcoded), and it'll be looked for in: local directory, $PHPRC
- and builtin path designated by ./configure under UNIX or Windows directory
- under Windows.
-- Fixed ereg_replace replacing empty matches and a one off buffer overflow
-- Fixed File upload on windows platform
-- Fixed a bug that caused 'HTTP/1.1 100 Continue' messages with
- Internet Explorer 4.0 and certain scripts that receive POST variables
-- Get/POST/Cookie data variables are from now *ALWAYS* strings. If you want
- to use them in integer/real context, you must explicitly change their types.
- This was done in order to avoid possible loss of data when doing these
- conversions automatically.
-- Variables named as keywords are now allowed (e.g. $function, $class, etc)
-- Fixed a problem with msql() and mysql() with NULL fields
-- Fixed a segfault bug with class declarations
-- Fixed bugs with FOR loops and include() from within eval()
-- Changed include() to be executed conditionally. PHP-3.0 efficient
- unconditional include is now require()
-
-December 08 1997 Version 3.0b1
-- Switched to public beta test phase
-- Generalized unset() and isset() to work on any type of variables, including
- specific array indices or object properties (e.g., unset($a[4]) now works).
-- Added support for object references inside encapsulated strings
- (for example, 'echo "Username: $user->name"' now works)
-- Added arbitary precision math support (basic operations with
- unlimited range numbers, and support for unlimited decimal digits)
-- Apache module can now handle preprocessed scripts (by using:
- AddType application/x-httpd-php3-preprocessed .php3p
- in the Apache configuration)
-- Made settype() pass its first parameter by value. Improved it to be able
- to convert to arrays and objects (originally by Steve Willer)
-- Implemented CPU time limit on scripts when setitimer() is available
-- Computed field names in the Sybase/CT and Sybase/DB modules are now named
- computed, computed1, computed2, ...
-- Added Sybase/CT client/server message handlers and updated the Sybase/DB ones
-- Made the regexp function automatically take arguments by reference
- when necessary
-- Added builtin support for auto append and prepend in the parser level
-- Improved the Sybase/CT sybase_query(). Should be more stable now, and
- hopefully work with a wider range of queries. It's difficult to work
- without docs, though, so it may still not be 100% right...
-- Changed error messages to show error type, file and line with bold
-- Added support for autoprepend and autoprepend
-- Added some more warning flags if gcc is used
-
-December 03 1997 Version 3.0a4
-- Improved the internal functions API - no need to explicitly pass
- parameters by reference to internal functions that specifically
- require them, e.g. sort(), ksort(), reset(), count(), etc.
- This is *STILL* downwards compatible with the previous alphas,
- in the sense that you can explicitly pass the arguments by reference
- if you want to.
-- use srandom/random instead of srand/rand if available
-- Added [m,My]sql_listfields() for downwards compatability
-- -p now replaces .php3 extension with .php3p (otherwise it adds .php3p)
-- Added C++ style comments (// comment)
-- Fixed # commenting to terminate at a close PHP tag
-- Added \0 back reference for full string match to *reg*_replace and
- added backslash escaping to replace string
-- Fixed a few bugs in the Sybase DB-library module.
-- Added Sybase CT-library support. It should be considered experimental.
- Syntax is identical to the one of the DB-library. Allows people to
- connect to MS-SQL servers from Linux without having to pay for a
- library!
-- Beautified phpinfo()
-- Add ImageColorClosest() and ImageColorExact() GD functions
-- Make all .ini directives work as Apache .conf directives as well
-- Added PHP2-like File() function with PHP3 URL support
-- Upgraded the Sybase interface. It's practically MySQL compatible now!
- Among other things, added sybase_fetch_array() and sybase_fetch_object().
-- Fixed problem in multi dimensional array handling and self modifying
- operators (+=, -=, etc).
-- Safe Mode file open implementation
-- SVR3 portability problem fix
-
-November 23 1997 Version 3.0a3
-- Made the global statement behave like PHP 2 with undefined variables
-- Added msql_fetch_object() and msql_fetch_array()
-- Switched between the 1st and 2nd parameters to explode(), so that it acts
- like split()
-- Fixed passthru(), exec() and system() functions
-- Implemented second optional parameter to intval() to specify conversion base
- (The default is to assume you want to do a base 10 conversion.)
-- Implemented SQL safe mode for MySQL
-- Read UploadTmpDir from php3.ini instead of apache conf files
-- Added mysql_fetch_object() and mysql_fetch_array()
-- Changed function->old_function. function is now an alias to cfunction.
-- Split the magic_quotes directive to get/post/data and other
-- Added generic copy() function
-- Added a $GLOBALS[] array, which contains all global variables
-- Fix broken getimagesize() function
-- Made mysql_fetch_field() and msql_fetch_field() optionally accept a 2nd argument
-- Fixed mysql_data_seek() and msql_data_seek()
-- Changed list assignment to list(...) and array init to array(...)
-- Made <?php_track_vars?> work
-- cgi when not in debug mode uses regular malloc(), free() functions now
-- Added preliminary support for perl-style list assignments
-- Fixed a bug in mysql_result() and msql_result() when specifying table
-- renamed internal error-handling function and levels
-- Added basename and dirname functions similar to sh counterparts
-- Added base64_encode() and base64_decode()
-- Support Basic authorization for http url includes
-- Added parse_url() function to extract url components
-- Made it possible to use anonymous ftp on URL includes
-- Fixed url includes to handle different URLs better
-- Fixed mysql_field*() functions
-- Made mysql_connect() smarter, after a mysql_close() (applies to msql and pgsql too)
-
-November 6 1997 Version 3.0a2
-- Fixed a segfault bug caused by non-persistent connect in [m,My,Postgres]SQL modules
-- Fix command line argument handling
-- Made empty array list assignments work ($a=({});)
-- Made '$' escaping optional when a variable name parsing isn't possible
-- Added support for mysql_[p]connect(host) and mysql_[p]connect(host,user)
-- New layout in phpinfo()
-- Update Oracle extension to use php3_list functions
-- Add includepath support
-- Add #!php shell script escape support
-- Change name of CGI/command line version from php3.cgi to php
-- Add SNMP extension
-- show_source() support
-- Parsing of command-line args for CGI version
-- Support for backreferences in ereg_replace
-- Support for hexadecimal numbers directly at the scanner level
-- Support octal numbers directly at the scanner level
-- Fixed problem with huge html files (with little or no php code)
-- Fix eval() empty string argument core dump
-- renamed 'install' to 'setup' to be more accurate and avoid name conflict
-- Fixed Oracle compilation
-- Fixed mSQL 1.0 compilation
-- Fixed a problem in the mSQL, MySQL and PostgresSQL drivers and NULL fields.
-- Fixed the GLOBAL statement to be able to declare an array.
-
-October 29 1997 Version 3.0a1
-- Start with excellent new parser from Andi and Zeev
View
75 ChangeLog.TODO
@@ -1,75 +0,0 @@
-
-
-This is the ChangeLog from PHP3 as of Apr 12 1999.
-
-Entries should be removed from this file, if you transfer changes
-over to PHP4.
-
-============================================================================
-
-?? 1999, Version 3.0.8
-- added Oracle-OCI8 persistent connections
-- fixed OCIDefineByName crash.
-- fixed some NULL-column related problems in OCI8-module.
-- Some Informix driver improvements.
-- PUT method support (mlemos@acm.org)
-- Fix parameter count problem in odbc_setoption()
-- Really fix implode() this time. The fix in 3.0.7 was bogus
-- Make fgetss() slightly smarter
-- Add strip_tags() which uses the fgetss state-machine but acts on a string
-
-March 1 1999, Version 3.0.7
-- Added pdf_put_image and pdf_execute_image
-- Initial work on an ImageMagick module - doesn't do anything yet
-- Make configure script detect Netscape's LDAP SDK automagically
-- Fixed Oracle-OCI8 module for windows.
-- Add OCIRowCount function. (Number of affected rows for update-statements)
-- Add OCIDefineByName function.
-- Change the behaviour of open_basedir. It's now possible to supply more
- than one directory. open_basedir paths from parent directories are now
- automatically inherited.
-- fix rand() and mt_rand() to make the ranges work correctly
-- htmlspecialchars() and htmlentities() are now binary safe.
-- Add extract() function.
-- Oracle-OCI8 driver now supports BLOBS/CLOBS and IN/OUT binding of local php
- variables.
-- Clean up apxs build
-- Add INSTALL.REDHAT file to walk RedHat users through the install
-- Add function_exists() function.
-- Add another version of WDDX module
- (we need to pick a single implementation here)
-- Fixed includes for iODBC to support both the old and the new LGPL version
-- Fix implode() bug - When imploding an array that contained unset() elements
- it wasn't correctly skipping past these
-- Add connection_status() function. This returns the raw bitfield which
- indicates whether the script terminated due to a user abort, a timeout
- or normally. Note that if ignore_user_abort is enabled, then both the
- timeout state and the user abort state can be active
-- Add connection_timeout() function. This one can be called in a shutdown
- function to tell you if you got there because of a timeout
-- Add ignore_user_abort() function and .ini/.conf directive of same name
-- Fix connection abort detection code - It should now work reliably with
- Apache. Also added a user-level connection_aborted() function designed to
- let people check whether the user aborted the connection in a user-level
- shutdown function.
-- Add pfsockopen() function
-- Improvements in FreeType support: Macintosh fonts work, and non-antialiased
- output is considerably cleaner <mka@satama.com>
-- Fixed checkdate() function, range of valid years is now 0 to 32767
-- hw_insertdocument() returns object id now
-- Add pdf_open() warning in configure and documentation
-- Add diskfreespace() function
-- Added aspell support
-- Iptcparse would sometimes find a wrong tag.
-- Force var_dump() to output headers
-- Add optional 3th parameter to ora_fetchinto.
-- Serialize and var_dump no longer show array elements that
- have been unset.
-- Add IptcEmbed() function (can replace an APP13-Marker in a JPEG file)
-- Add OCI8 module for Windows
-- Fix bug in pdf_close() function
-- Add WDDX support (see http://www.wddx.org for more info)
-- Add similar_text() function
-- Introduce simple regex compilation cache
-
-
View
538 FUNCTION_LIST.txt
@@ -1,538 +0,0 @@
-Functions:
-
-Functions marked with 'u' do not work, or may not work correctly under windows.
-
-basic_functions
- include
- _include
- isset
-
- intval
- doubleval
- strval
- short_tags
- sleep
-u usleep
- ksort
- asort
- sort
- count
- chr
- ord
- flush
- end
- prev
- next
- reset
- current
- key
- gettype
- settype
- min
- max
-
- addslashes
- chop
- pos
-
- fsockopen
- getimagesize
- htmlspecialchars
- md5
-
- parse_url
-
- parse_str
- phpinfo
- phpversion
- strlen
- strtok
- strtoupper
- strtolower
- strchr
- basename
- dirname
- stripslashes
- strstr
- strrchr
- substr
- quotemeta
- urlencode
- urldecode
- ucfirst
- strtr
- sprintf
- printf
-
- exec
- system
- escapeshellcmd
- passthru
-
- soundex
-
- rand
- srand
- getrandmax
- gethostbyaddr
- gethostbyname
- explode
- implode
- error_reporting
- clearstatcache
-
- get_current_user
- getmyuid
- getmypid
-u getmyinode
- getlastmod
-
- base64_decode
- base64_encode
-
- abs
- ceil
- floor
- sin
- cos
- tan
- asin
- acos
- atan
- pi
- pow
- exp
- log
- log10
- sqrt
- bindec
- hexdec
- octdec
- decbin
- decoct
- dechex
-
- getenv
- putenv
-
- time
- mktime
- date
- gmdate
- getdate
- checkdate
- microtime
- uniqid
-
-u linkinfo
-u readlink
-u symlink
-u link
-u unlink
-
-
-bcmath_functions
- bcadd
- bcsub
- bcmul
- bcdiv
- bcmod
- bcpow
- bcsqrt
- bcscale
- bccomp
-
-dir_functions
- opendir
- closedir
- chdir
- rewinddir
- readdir
- dir
-
-dl_functions
- dl(string module_name); dynamicly load a module
-
-dns_functions
- gethostbyaddr
- gethostbyname
-
-file_functions
- pclose
- popen
- readfile
- rewind
- rmdir
- umask
- fclose
- feof
- fgets
- fgetss
- fopen
- fpassthru
- fseek
- ftell
- fputs
- mkdir
- rename
- copy
- tempnam
- file
-
-filestat_functions
- fileatime
- filectime
-u filegroup
-u fileinode
- filemtime
-u fileowner
- fileperms
- filesize
- filetype
- stat
-u chown
-u chgrp
-u chmod
- touch
- file_exists
- is_executable
- is_dir
- is_readable
- is_writeable
-u is_link
-
-header_functions
- setcookie
- header
-
-mail_functions
- mail
-
-reg_functions
- ereg
- ereg_replace
- eregi
- eregi_replace
- split
- sql_regcase
-
-syslog_functions (writes to event log on win NT)
- openlog
- syslog
- closelog
-
-The following are optional modules and may or may not be compiled into php, or may be compiled as a loadable module.
-
-odbc_functions (obsolete, use uodbc below)
- sqlconnect
- sqldisconnect
- sqlfetch
- sqlexecdirect
- sqlgetdata
- sqlfree
- sqlrowcount
-
-uodbc_functions
- (int) odbc_autocommit($connection_id, $OnOff)
- (void) odbc_close($connection_id)
- (void) odbc_close_all(void)
- (int) odbc_commit($connection_id)
- (int) odbc_connect($dsn, $user, $password)
- (int) odbc_pconnect($dsn, $user, $password)
- (string) odbc_cursor($result_id)
- (int) odbc_do($connection_id, $query_string)
- (int) odbc_exec($connection_id, $query_string)
- (int) odbc_prepare($connection_id, $query_string)
- (int) odbc_execute($result_id, $array)
- (int) odbc_fetch_row($result_id, $row_number)
- (int) odbc_fetch_into($result_id, $row_number, $array_ptr)
- (int) odbc_field_len($result_id, $field_number)
- (string) odbc_field_name($result_id, $field_number)
- (string) odbc_field_type($result_id, $field)
- (int) odbc_free_result($result_id)
- (int) odbc_num_fields($result_id)
- (int) odbc_num_rows($result_id)
- (string) odbc_result($result_id, $field)
- (int) odbc_result_all($result_id, $format)
- (int) odbc_rollback($connection_id)
-
-msql_functions
- msql_connect
- msql_pconnect
- msql_close
- msql_select_db
- msql_create_db
- msql_drop_db
- msql_query
- msql
- msql_list_dbs
- msql_list_tables
- msql_list_fields
- msql_result
- msql_num_rows
- msql_num_fields
- msql_fetch_row
- msql_fetch_array
- msql_fetch_object
- msql_data_seek
- msql_fetch_field
- msql_field_seek
- msql_free_result
- msql_fieldname
- msql_fieldtable
- msql_fieldlen
- msql_fieldtype
- msql_fieldflags
- msql_regcase
- /* for downwards compatability */
- msql_selectdb
- msql_createdb
- msql_dropdb
- msql_freeresult
- msql_numfields
- msql_numrows
- msql_listdbs
- msql_listtables
- msql_listfields
- msql_dbname
- msql_tablename
-
-ldap_functions
- ldap_connect
- ldap_bind
- ldap_unbind
- ldap_read
- ldap_list
- ldap_search
- ldap_free_result
- ldap_count_entries
- ldap_first_entry
- ldap_next_entry
- ldap_get_entries
- ldap_free_entry
- ldap_first_attribute
- ldap_next_attribute
- ldap_get_attributes
- ldap_get_values
- ldap_get_dn
- ldap_dn2ufn
- ldap_add
- ldap_delete
- ldap_modify
-
-gd_functions
- imagearc
- imagechar
- imagecharup
- imagecolorallocate
- imagecolorclosest
- imagecolorexact
- imagecolortransparent
- imagecopyresized
- imagecreate
- imagecreatefromgif
- imagedestroy
- imagefill
- imagefilledpolygon
- imagefilledrectangle
- imagefilltoborder
- imagegif
- imageinterlace
- imageline
- imagepolygon
- imagerectangle
- imagesetpixel
- imagestring
- imagestringup
- imagesx
- imagesy
-
-filepro_functions
- filepro
- filepro_rowcount
- filepro_fieldname
- filepro_fieldtype
- filepro_fieldwidth
- filepro_fieldcount
- filepro_retrieve
-
-dbm_functions
- dblist
- dbmopen
- dbmclose
- dbminsert
- dbmfetch
- dbmreplace
- dbmexists
- dbmdelete
- dbmfirstkey
- dbmnextkey
-
-dbase_functions
- dbase_open
- dbase_create
- dbase_close
- dbase_numrecords
- dbase_numfields
- dbase_add_record
- dbase_get_record
- dbase_delete_record
- dbase_pack
-
-calendar_functions
- jdtogregorian
- gregoriantojd
- jdtojulian
- juliantojd
- jdtojewish
- jewishtojd
- jdtofrench
- frenchtojd
- jddayofweek
- jdmonthname
-
-adabas_functions
-(int) ada_afetch($result_id, $rownumber, $result array)
-(int) ada_autocommit($connection_id, $OnOff)
-(void) ada_close($connection_id)
- ada_closeall
-(int) ada_commit($connection_id)
-(int) ada_connect($dsn, $user, $password)
-(int) ada_exec($connection_id, $query_string)
-(int) ada_fetchrow($result_id, $row?number)
- ada_fieldlen
-(string) ada_fieldname($result_id, $field_number)
-(string) ada_fieldtype($result_id, $field)
-(int) ada_freeresult($result_id)
-(int) ada_numfields($result_id)
-(int) ada_numrows($result_id)
-(string) ada_result($result_id, $field)
-(int) ada_resultall($result_id, $format)
-(int) ada_rollback($connection_id)
-***(int) ada_fieldnum($result_id, $field_name) (this function is not in adabase.c
-
-crypt_functions
- crypt
-
-mysql_functions
- mysql_connect
- mysql_pconnect
- mysql_close
- mysql_select_db
- mysql_create_db
- mysql_drop_db
- mysql_query
- mysql
- mysql_list_dbs
- mysql_list_tables
- mysql_list_fields
- mysql_affected_rows
- mysql_insert_id
- mysql_result
- mysql_num_rows
- mysql_num_fields
- mysql_fetch_row
- mysql_fetch_array
- mysql_fetch_object
- mysql_data_seek
- mysql_fetch_lengths
- mysql_fetch_field
- mysql_field_seek
- mysql_free_result
- mysql_fieldname
- mysql_fieldtable
- mysql_fieldlen
- mysql_fieldtype
- mysql_fieldflags
- /* for downwards compatability */
- mysql_selectdb
- mysql_createdb
- mysql_dropdb
- mysql_freeresult
- mysql_numfields
- mysql_numrows
- mysql_listdbs
- mysql_listtables
- mysql_listfields
- mysql_dbname
- mysql_tablename
-
-oracle_functions
- ora_close
- ora_commit
- ora_commitoff
- ora_commiton
- ora_error
- ora_errorcode
- ora_exec
- ora_fetch
- ora_getcolumn
- ora_logoff
- ora_logon
- ora_open
- ora_parse
- ora_rollback
-
-pgsql_functions
- pg_connect
- pg_pconnect
- pg_close
- pg_dbname
- pg_errormessage
- pg_options
- pg_port
- pg_tty
- pg_host
- pg_exec
- pg_numrows
- pg_numfields
- pg_fieldname
- pg_fieldsize
- pg_fieldtype
- pg_fieldnum
- pg_result
- pg_fieldprtlen
- pg_getlastoid
- pg_freeresult
- pg_locreate
- pg_lounlink
- pg_loopen
- pg_loclose
- pg_loread
- pg_lowrite
- pg_loreadall
-
-sybase_functions
- sybase_connect
- sybase_pconnect
- sybase_close
- sybase_select_db
- sybase_query
- sybase_free_result
- sybase_get_last_message
- sybase_num_rows
- sybase_num_fields
- sybase_fetch_row
- sybase_fetch_array
- sybase_fetch_object
- sybase_data_seek
- sybase_fetch_field
- sybase_field_seek
- sybase_result
-
-sybase_old_functions
- sybsql_seek
- sybsql_exit
- sybsql_dbuse
- sybsql_query
- sybsql_isrow
- sybsql_result
- sybsql_connect
- sybsql_nextrow
- sybsql_numrows
- sybsql_getfield
- sybsql_numfields
- sybsql_fieldname
- sybsql_result_all
- sybsql_checkconnect
-
View
186 INSTALL
@@ -1,186 +0,0 @@
-Installation Instructions for PHP 4.0
--------------------------------------
-
-For the impatient here is a quick set of steps that will build PHP as
-an Apache module for Apache 1.3.x with MySQL support. A more verbose
-explanation follows.
-
-
-QUICK INSTALL
-
-$ 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)
-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
-
-Installing PHP can be done in four simple steps:
-
-1. Unpack your distribution file.
-
- You will have downloaded a file named something like php4xn.tar.gz.
- Unzip this file with a command like: gunzip php4xn.tar.gz
-
- Next you have to untar it with: tar -xvf php4xn.tar
-
- This will create a php-4.0.x directory. cd into this new directory.
-
-2. Configure PHP.
-
- You now have to choose the options you would like. There are quite
- a few of them. To see a list, type: ./configure --help
-
- You can also use the supplied 'setup' script, which will ask you
- a series of questions and automatically run the configure script
- for you.
-
- 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.
-
-3. Compile and install the files. Simply type: make install
-
- 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
-
-4. Setting up the server.
-
- 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/srm.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.
-
- When you are finished making changes to your srm.conf file, you can
- start up your server.
-
-USING PHP3 AND PHP4 AS CONCURRENT APACHE MODULES
-
- Recent operating systems provide the ability to perform versioning and
- scoping. This features make it possible to let PHP3 and PHP4 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)
-
- To enable it, configure PHP3 and PHP4 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
70 LICENSE
@@ -1,70 +0,0 @@
---------------------------------------------------------------------
- The PHP License, version 2.01
-Copyright (c) 1999 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. Permission to freely distribute and use Zend as an integrated
- part of PHP is granted, under the conditions of version 0.91
- of the Zend License.
- The license is bundled with the Zend engine, and is available
- at http://www.zend.com/license/0_91.txt, or by contacting
- license@zend.com.
-
-
-
-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 php-group@php.net.
-
-For more information on the PHP Group and the PHP project,
-please see <http://www.php.net>.
View
20 MODULES_STATUS
@@ -1,20 +0,0 @@
-Module Status
------- ------
-MySQL Working
-COM Working
-WDDX Working
-PCRE Working
-DBA Working
-mcrypt Working
-mhash Working
-dbase Working
-aspell Working
-imap Working
-ldap Working
-oci8 Working (but no blob-support yet)
-oracle Working
-iptc Working
-informix Working
-zlib Working
-sysvshm Working
-odbc Working (except for persistent connections)
View
220 Makefile.in
@@ -1,220 +0,0 @@
-# +----------------------------------------------------------------------+
-# | PHP HTML Embedded Scripting Language Version 4.0 |
-# +----------------------------------------------------------------------+
-# | Copyright (c) 1997-1999 PHP Development Team (See Credits file) |
-# +----------------------------------------------------------------------+
-# | This program is free software; you can redistribute it and/or modify |
-# | it under the terms of one of the following licenses: |
-# | |
-# | A) the GNU General Public License as published by the Free Software |
-# | Foundation; either version 2 of the License, or (at your option) |
-# | any later version. |
-# | |
-# | B) the PHP License as published by the PHP Development Team and |
-# | included in the distribution in the file: LICENSE |
-# | |
-# | This program is distributed in the hope that it will be useful, |
-# | but WITHOUT ANY WARRANTY; without even the implied warranty of |
-# | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
-# | GNU General Public License for more details. |
-# | |
-# | You should have received a copy of both licenses referred to here. |
-# | If you did not, or have any questions about PHP licensing, please |
-# | contact core@php.net. |
-# +----------------------------------------------------------------------+
-
-#
-# $Id$
-#
-
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-srcdir = @srcdir@
-VPATH = @srcdir@
-bindir = @bindir@
-
-top_builddir = .
-
-ZEND_DIR = $(srcdir)/libzend
-TSRM_DIR = @TSRM_DIR@
-SUBDIRS=libzend ext $(TSRM_DIR) sapi
-
-PACKAGE = @PACKAGE@
-VERSION = @VERSION@
-LN_S = @LN_S@
-CC = @CC@
-AR = ar rc
-PHP_SAPI = @PHP_SAPI@
-SAPI_TARGET = @SAPI_TARGET@
-INSTALL_IT = @INSTALL_IT@
-EXTRA_LIBS = @EXTRA_LIBS@
-EXT_LIBS = @EXT_LIBS@
-INCLUDES = @INCLUDES@
-INCLUDE = -I$(srcdir) -I. -I$(ZEND_DIR) -I$(srcdir)/TSRM $(INCLUDES)
-PROF_CFLAGS =
-CFLAGS_SHLIB = @CFLAGS_SHLIB@
-LDFLAGS_SHLIB = @LDFLAGS_SHLIB@
-LDFLAGS_SHLIB_EXPORT = @LDFLAGS_SHLIB_EXPORT@
-CPPFLAGS = @CPPFLAGS@
-DEFS = @DEFS@
-VERSION_SCRIPT = @VERSION_SCRIPT@
-RPATHS = @RPATHS@
-CFLAGS = @CFLAGS@ @DEBUG_CFLAGS@ $(PROF_CFLAGS)
-COMPILE = $(CC) $(CFLAGS) $(CFLAGS_SHLIB) $(CPPFLAGS) $(INCLUDE) $(DEFS) @STRONGHOLD@
-LDFLAGS = $(VERSION_SCRIPT) $(RPATHS) @LDFLAGS@ $(LDFLAGS_SHLIB) $(LDFLAGS_SHLIB_EXPORT) -L$(ZEND_DIR)
-REGCFLAGS = $(CFLAGS)
-RANLIB = @RANLIB@
-YACC = @YACC@
-MAINT = @MAINT@
-APXS = @APXS@
-APXS_LDFLAGS = $(EXTRA_LIBS) $(LIBS)
-APXS_EXP = @APXS_EXP@
-WARNING_LEVEL = @WARNING_LEVEL@
-LEX_CFLAGS = -w$(WARNING_LEVEL) @LEX_CFLAGS@
-EXT_SHARED = @EXT_SHARED@
-LIBOBJS=@LIBOBJS@
-REGEX_LIB=@REGEX_LIB@
-FHTTPD_LIB=@FHTTPD_LIB@
-TSRM_LIB=@TSRM_LIB@
-
-SOURCE = main.c internal_functions.c snprintf.c php3_sprintf.c \
- configuration-parser.c configuration-scanner.c request_info.c \
- safe_mode.c fopen-wrappers.c php3_realpath.c alloca.c output.c \
- php_ini.c SAPI.c rfc1867.c dlist.c php_content_types.c
-
-OBJS = $(SOURCE:.c=.o) $(LIBOBJS)
-PHPLIBS = -Llibzend -lzend -Lext -lphpext
-LIBS = $(PHPLIBS) $(EXTRA_LIBS) @LIBS@
-
-all: $(SAPI_TARGET)
-
-all-recursive clean-recursive distclean-recursive \
-maintainer-clean-depend-recursive:
- @set fnord $(MAKEFLAGS); amf=$$2; \
- for subdir in $(SUBDIRS); do \
- target=`echo $@ | sed s/-recursive//`; \
- echo "Making $$target in $$subdir"; \
- (cd $$subdir && $(MAKE) $$target) || fail=yes; \
- done && test -z "$$fail"
-
-include $(srcdir)/sapi/$(PHP_SAPI)/Makefile.inc
-
-regex/libregex.a:
- (cd regex; $(MAKE) lib)
-
-configuration-parser.h configuration-parser.c: $(srcdir)/configuration-parser.y
- bison -p cfg -v -d $(srcdir)/configuration-parser.y -o configuration-parser.c
-
-configuration-scanner.o: configuration-scanner.c
- $(COMPILE) $(LEX_CFLAGS) -c configuration-scanner.c
-
-configuration-scanner.c: $(srcdir)/configuration-scanner.l
- flex -Pcfg -oconfiguration-scanner.c -i $(srcdir)/configuration-scanner.l
-
-clean: clean-recursive
- -rm -f libphp4.a libmodphp4.a libphp4.so php *.o
- -rm -f test/php.desc test/php.in test/php.out test/php.test
- -rm -f test/a.tmp test/b.tmp test/test.dbm*
-
-distclean: clean distclean-recursive
- -rm -f *-parser.[ch] *-scanner.c *.output
- -rm -f config.status config.cache config.log
- -rm -f Makefile Makefile.depend php_config.h build-defs.h
- -rm -f libphp4.module stamp-h buildconf.stamp
- -rm -f regex/*.o regex/*.a regex/*.ih
- -rm -f doc/checkdoc doc/funcparse doc/version.ent
- -rm -f do-conf test/test.log
- -rm -f doc/Makefile regex/Makefile
-
-distdir = $(PACKAGE)-$(VERSION)
-top_distdir = $(distdir)
-
-dist: distdir
- -chmod -R a+r $(distdir)
- tar chozf $(distdir).tar.gz $(distdir)
- -rm -rf $(distdir)
-
-distdir:
- -rm -rf $(distdir)
- files=`echo *` ;\
- mkdir $(distdir) ;\
- for file in $$files ; do \
- d=$(srcdir); \
- if test -d $$d/$$file ; then \
- cp -pr $$d/$$file $(distdir)/$$file; \
- else \
- test -f $(distdir)/$$file \
- || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
- || cp -p $$d/$$file $(distdir)/$$file || :; \
- fi; \
- done
- (cd $(distdir) ; $(MAKE) distclean)
- cd $(distdir)/libzend ;\
- flex -Pzend -ozend-scanner.c -i zend-scanner.l ;\
- bison -p zend -v -d zend-parser.y -o zend-parser.c
- cd $(distdir) ;\
- flex -Pcfg -oconfiguration-scanner.c -i configuration-scanner.l ;\
- bison -p cfg -v -d configuration-parser.y -o configuration-parser.c
- find $(distdir) -name CVS -o -name .cvsignore | xargs rm -rf
-
-maintainer-clean-depend: maintainer-clean-depend-recursive
-
-bench: php
- ./php -c. tests/bench.phtml
-
-# can't use a single rule for this because 'test' is a directory
-test: regression
-regression check: php
- cd test && ./testall
-
-config.status: configure
- ./config.status --recheck
-
-build-defs.h php_config.h: stamp-h
-stamp-h: php_config.h.in config.status
- CONFIG_FILES='build-defs.h stamp-h' ./config.status
-
-Makefile: Makefile.in config.status
- CONFIG_FILES=$@ CONFIG_HEADERS= ./config.status
-
-#
-# You must use '--enable-maintainer-mode' with configure to enable
-# these rules, which requires autoconf be installed.
-#
-configure: @MAINT@ configure.in aclocal.m4
- cd $(srcdir) && autoconf
-
-php_config.h.in: @MAINT@ stamp-h.in
-stamp-h.in: configure.in aclocal.m4 acconfig.h
- cd ${srcdir} && autoheader && touch ${srcdir}/stamp-h.in
-
-install: install-recursive $(SAPI_TARGET)
- $(INSTALL_IT)
-
-install-recursive:
- if test "$(EXT_SHARED)" != ""; then \
- for dir in X $(EXT_SHARED); do \
- test -d ext/$$dir && (cd ext/$$dir; $(MAKE) install); \
- done; \
- fi
-
-indent: clean
- indent -v -kr -cli4 -ts4 \
- -T pval -T HashTable -T Bucket -T Token -T TokenCache -T TokenCacheManager \
- -T switch_expr -T internal_function -T control_structure_data \
- -T MemoryHashTable -T MemoryBucket \
- -T pvalue_value -T Stack *.c *.h
- rm -f *~