Skip to content
Browse files

This commit was manufactured by cvs2svn to create tag 'RELEASE_0_3'.

  • Loading branch information...
1 parent 5984f7f commit d1f952cd3b960e2173cfc8298058e3046f8bc3a4 SVN Migration committed
Showing with 0 additions and 34,603 deletions.
  1. +0 −359 .gdbinit
  2. +0 −272 CODING_STANDARDS
  3. +0 −2 CREDITS
  4. +0 −3,850 ChangeLog
  5. BIN ChangeLog.1999.gz
  6. BIN ChangeLog.2000.gz
  7. BIN ChangeLog.2001.gz
  8. BIN ChangeLog.2002.gz
  9. BIN ChangeLog.2003.gz
  10. BIN ChangeLog.2004.gz
  11. +0 −522 EXTENSIONS
  12. +0 −1,525 INSTALL
  13. +0 −68 LICENSE
  14. +0 −23 Makefile.frag
  15. +0 −76 Makefile.global
  16. +0 −633 NEWS
  17. +0 −107 README.CVS-RULES
  18. +0 −39 README.EXTENSIONS
  19. +0 −194 README.EXT_SKEL
  20. +0 −127 README.PARAMETER_PARSING_API
  21. +0 −155 README.PHP4-TO-PHP5-THIN-CHANGES
  22. +0 −57 README.QNX
  23. +0 −155 README.SELF-CONTAINED-EXTENSIONS
  24. +0 −379 README.STREAMS
  25. +0 −126 README.SUBMITTING_PATCH
  26. +0 −179 README.TESTING
  27. +0 −137 README.TESTING2
  28. +0 −123 README.UNIX-BUILD-SYSTEM
  29. +0 −174 README.WIN32-BUILD-SYSTEM
  30. +0 −112 README.Zeus
  31. +0 −193 README.input_filter
  32. +0 −152 TODO
  33. +0 −10 TODO-5.1
  34. +0 −109 TODO-PHP5
  35. +0 −3 TODO.BUILDv5
  36. +0 −26 TSRM/LICENSE
  37. +0 −6 TSRM/Makefile.am
  38. +0 −2 TSRM/TODO
  39. +0 −682 TSRM/TSRM.c
  40. +0 −186 TSRM/TSRM.dsp
  41. +0 −163 TSRM/TSRM.h
  42. +0 −1 TSRM/acconfig.h
  43. +0 −5 TSRM/acinclude.m4
  44. +0 −43 TSRM/build.mk
  45. +0 −33 TSRM/buildconf
  46. +0 −10 TSRM/config.w32
  47. +0 −31 TSRM/configure.in
  48. +0 −44 TSRM/readdir.h
  49. +0 −173 TSRM/threads.m4
  50. +0 −129 TSRM/tsrm.m4
  51. +0 −20 TSRM/tsrm_config.w32.h
  52. +0 −58 TSRM/tsrm_config_common.h
  53. +0 −240 TSRM/tsrm_nw.c
  54. +0 −29 TSRM/tsrm_nw.h
  55. +0 −63 TSRM/tsrm_strtok_r.c
  56. +0 −6 TSRM/tsrm_strtok_r.h
  57. +0 −1,035 TSRM/tsrm_virtual_cwd.c
  58. +0 −314 TSRM/tsrm_virtual_cwd.h
  59. +0 −388 TSRM/tsrm_win32.c
  60. +0 −106 TSRM/tsrm_win32.h
  61. +0 −19,973 Zend/ChangeLog
  62. +0 −186 Zend/FlexLexer.h
  63. +0 −56 Zend/LICENSE
  64. +0 −54 Zend/Makefile.am
  65. +0 −1 Zend/Makefile.frag
  66. +0 −195 Zend/OBJECTS2_HOWTO
  67. +0 −107 Zend/README.ZEND_VM
  68. +0 −136 Zend/RFCs/001.txt
  69. +0 −169 Zend/RFCs/002.txt
  70. +0 −72 Zend/RFCs/003.txt
Sorry, we could not display the entire diff because too many files (4,116) changed.
View
359 .gdbinit
@@ -1,359 +0,0 @@
-set $zts = 0
-
-define ____executor_globals
- if $zts
- set $eg = ((zend_executor_globals) (*((void ***) tsrm_ls))[executor_globals_id-1])
- else
- set $eg = executor_globals
- end
-end
-
-document ____executor_globals
- portable way of accessing executor_globals
- type "set $zts = 1" if you use --enable-maintainer-zts on your configure line
-end
-
-define dump_bt
- set $t = $arg0
- while $t
- printf "[0x%08x] ", $t
- if $t->function_state.function->common.function_name
- printf "%s() ", $t->function_state.function->common.function_name
- else
- printf "??? "
- end
- if $t->op_array != 0
- printf "%s:%d ", $t->op_array->filename, $t->opline->lineno
- end
- set $t = $t->prev_execute_data
- printf "\n"
- end
-end
-
-document dump_bt
- dumps the current execution stack. usage: dump_bt executor_globals.current_execute_data
-end
-
-define printzv
- set $ind = 1
- ____printzv $arg0 0
-end
-
-document printzv
- prints content of zval
-end
-
-define ____printzv_contents
- ____executor_globals
- set $zvalue = $arg0
-
- if $zvalue.type == 0
- set $typename = "NULL"
- end
- if $zvalue.type == 1
- set $typename = "long"
- end
- if $zvalue.type == 2
- set $typename = "double"
- end
- if $zvalue.type == 3
- set $typename = "string"
- end
- if $zvalue.type == 4
- set $typename = "array"
- end
- if $zvalue.type == 5
- set $typename = "object"
- end
- if $zvalue.type == 6
- set $typename = "bool"
- end
- if $zvalue.type == 7
- set $typename = "resource"
- end
- if $zvalue.type == 8
- set $typename = "constant"
- end
- if $zvalue.type == 9
- set $typename = "const_array"
- end
-
- printf "(refcount=%d) %s: ", $zvalue.refcount, $typename
- if $zvalue.type == 1
- printf "%ld", $zvalue.value.lval
- end
- if $zvalue->type == 2
- printf "%lf", $zvalue.value.dval
- end
- if $zvalue.type == 3
- printf "\"%s\"(%d)", $zvalue.value.str.val, $zvalue.value.str.len
- end
- if $zvalue.type == 4
- if ! $arg1
- printf "{\n"
- set $ind = $ind + 1
- ____print_ht $zvalue.value.ht
- set $ind = $ind - 1
- set $i = $ind
- while $i > 0
- printf " "
- set $i = $i - 1
- end
- printf "}"
- end
- end
- if $zvalue.type == 5
- if ! $arg1
- printf "(prop examination disabled due to a gdb bug)"
- if $zvalue.value.obj.handlers->get_properties
-# set $ht = $zvalue->value.obj.handlers->get_properties($zvalue)
-# printf "{\n"
-# set $ind = $ind + 1
-# ____print_ht $ht
-# set $ind = $ind - 1
-# set $i = $ind
-# while $i > 0
-# printf " "
-# set $i = $i - 1
-# end
-# printf "}"
- end
- end
- end
- if $zvalue.type == 6
- if $zvalue.value.lval
- printf "true"
- else
- printf "false"
- end
- end
- if $zvalue.type == 7
- printf "#%d", $zvalue.value.lval
- end
- printf "\n"
-end
-
-define ____printzv
- ____executor_globals
- set $zvalue = $arg0
-
- printf "[0x%08x] ", $zvalue
-
- if $zvalue == $eg.uninitialized_zval_ptr
- printf "*uninitialized* "
- end
-
- set $zcontents = *(struct _zval_struct *) $zvalue
- if $arg1
- ____printzv_contents $zcontents $arg1
- else
- ____printzv_contents $zcontents 0
- end
-end
-
-define ____print_const_table
- set $ht = $arg0
- set $p = $ht->pListHead
-
- while $p != 0
- set $const = *(zend_constant *) $p->pData
-
- set $i = $ind
- while $i > 0
- printf " "
- set $i = $i - 1
- end
-
- if $p->nKeyLength > 0
- printf "\"%s\" => ", $p->arKey
- else
- printf "%d => ", $p->h
- end
-
- ____printzv_contents $const.value 0
- set $p = $p->pListNext
- end
-end
-
-define print_const_table
- set $ind = 1
- printf "[0x%08x] {\n", $arg0
- ____print_const_table $arg0
- printf "}\n"
-end
-
-define ____print_ht
- set $ht = $arg0
- set $p = $ht->pListHead
-
- while $p != 0
- set $zval = *(struct _zval_struct **)$p->pData
-
- set $i = $ind
- while $i > 0
- printf " "
- set $i = $i - 1
- end
-
- if $p->nKeyLength > 0
- printf "\"%s\" => ", $p->arKey
- else
- printf "%d => ", $p->h
- end
-
- ____printzv $zval 1
- set $p = $p->pListNext
- end
-end
-
-define print_ht
- set $ind = 1
- printf "[0x%08x] {\n", $arg0
- ____print_ht $arg0
- printf "}\n"
-end
-
-document print_ht
- dumps elements of HashTable made of zval
-end
-
-define printzn
- ____executor_globals
- set $ind = 0
- set $znode = $arg0
- if $znode->op_type == 1
- set $optype = "IS_CONST"
- end
- if $znode->op_type == 2
- set $optype = "IS_TMP_VAR"
- end
- if $znode->op_type == 4
- set $optype = "IS_VAR"
- end
- if $znode->op_type == 8
- set $optype = "IS_UNUSED"
- end
-
- printf "[0x%08x] %s", $znode, $optype
-
- if $znode->op_type == 1
- printf ": "
- ____printzv &$znode->u.constant 0
- end
- if $znode->op_type == 2
- printf ": "
- set $tvar = (union _temp_variable *)((char *)$eg.current_execute_data->Ts + $znode->u.var)
- ____printzv ((union _temp_variable *)$tvar)->tmp_var 0
- end
- if $znode->op_type == 4
- printf ": "
- set $tvar = (union _temp_variable *)((char *)$eg.current_execute_data->Ts + $znode->u.var)
- ____printzv *$tvar->var.ptr_ptr 0
- end
- if $znode->op_type == 8
- printf "\n"
- end
-end
-
-document printzn
- print type and content of znode.
- usage: printzn &opline->op1
-end
-
-define printzops
- printf "op1 => "
- printzn &execute_data->opline.op1
- printf "op2 => "
- printzn &execute_data->opline.op2
- printf "result => "
- printzn &execute_data->opline.result
-end
-
-document printzops
- dump operands of the current opline
-end
-
-define zbacktrace
- ____executor_globals
- dump_bt $eg.current_execute_data
-end
-
-document zbacktrace
- prints backtrace.
- This command is almost a short cut for
- > (gdb) ____executor_globals
- > (gdb) dump_bt $eg.current_execute_data
-end
-
-define zmemcheck
- set $p = alloc_globals.head
- set $stat = "?"
- set $total_size = 0
- if $arg0 != 0
- set $not_found = 1
- else
- set $not_found = 0
- end
- printf " block size status file:line\n"
- printf "-------------------------------------------------------------------------------\n"
- while $p
- set $aptr = $p + sizeof(struct _zend_mem_header) + sizeof(align_test)
- if $arg0 == 0 || (void *)$aptr == (void *)$arg0
- if $p->magic == 0x7312f8dc
- set $stat = "OK"
- end
- if $p->magic == 0x99954317
- set $stat = "FREED"
- end
- if $p->magic == 0xfb8277dc
- set $stat = "CACHED"
- end
- set $filename = strrchr($p->filename, '/')
- if !$filename
- set $filename = $p->filename
- else
- set $filename = $filename + 1
- end
- printf " 0x%08x ", $aptr
- if $p->size == sizeof(struct _zval_struct) && ((struct _zval_struct *)$aptr)->type >= 0 && ((struct _zval_struct *)$aptr)->type < 10
- printf "ZVAL?(%-2d) ", $p->size
- else
- printf "%-9d ", $p->size
- end
- set $total_size = $total_size + $p->size
- printf "%-06s %s:%d", $stat, $filename, $p->lineno
- if $p->orig_filename
- set $orig_filename = strrchr($p->orig_filename, '/')
- if !$orig_filename
- set $orig_filename = $p->orig_filename
- else
- set $orig_filename = $orig_filename + 1
- end
- printf " <= %s:%d\n", $orig_filename, $p->orig_lineno
- else
- printf "\n"
- end
- if $arg0 != 0
- set $p = 0
- set $not_found = 0
- else
- set $p = $p->pNext
- end
- else
- set $p = $p->pNext
- end
- end
- if $not_found
- printf "no such block that begins at 0x%08x.\n", $aptr
- end
- if $arg0 == 0
- printf "-------------------------------------------------------------------------------\n"
- printf " total: %d bytes\n", $total_size
- end
-end
-
-document zmemcheck
- show status of a memory block.
- usage: zmemcheck [ptr].
- if ptr is 0, all blocks will be listed.
-end
View
272 CODING_STANDARDS
@@ -1,272 +0,0 @@
-PHP Coding Standards
-====================
-
-
-This file lists several standards that any programmer, adding or changing
-code in PHP, should follow. Since this file was added at a very late
-stage of the development of PHP v3.0, the code base does not (yet) fully
-follow it, but it's going in that general direction. Since we are now
-well into the version 4 releases, many sections have been recoded to use
-these rules.
-
-
-Code Implementation
--------------------
-
-[0] Document your code in source files and the manual. [tm]
-
-[1] Functions that are given pointers to resources should not free them
-
-For instance, function int mail(char *to, char *from) should NOT free
-to and/or from.
-Exceptions:
-
- - The function's designated behavior is freeing that resource. E.g. efree()
- - The function is given a boolean argument, that controls whether or not
- the function may free its arguments (if true - the function must free its
- arguments, if false - it must not)
- - Low-level parser routines, that are tightly integrated with the token
- cache and the bison code for minimum memory copying overhead.
-
-[2] Functions that are tightly integrated with other functions within the
- same module, and rely on each other non-trivial behavior, should be
- documented as such and declared 'static'. They should be avoided if
- possible.
-
-[3] Use definitions and macros whenever possible, so that constants have
- meaningful names and can be easily manipulated. The only exceptions
- to this rule are 0 and 1, when used as false and true (respectively).
- Any other use of a numeric constant to specify different behavior
- or actions should be done through a #define.
-
-[4] When writing functions that deal with strings, be sure to remember
- that PHP holds the length property of each string, and that it
- shouldn't be calculated with strlen(). Write your functions in a such
- a way so that they'll take advantage of the length property, both
- for efficiency and in order for them to be binary-safe.
- Functions that change strings and obtain their new lengths while
- doing so, should return that new length, so it doesn't have to be
- recalculated with strlen() (e.g. php_addslashes())
-
-[5] 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.
-
-[6] Use PHP_* macros in the PHP source, and ZEND_* macros in the Zend
- part of the source. Although the PHP_* macro's are mostly aliased to the
- ZEND_* macros it gives a better understanding on what kind of macro you're
- calling.
-
-[7] When commenting out code using a #if statement, do NOT use 0 only. Instead
- use "<cvs username here>_0". For example, #if FOO_0, where FOO is your
- cvs user foo. This allows easier tracking of why code was commented out,
- especially in bundled libraries.
-
-[8] Do not define functions that are not available. For instance, if a
- library is missing a function, do not define the PHP version of the
- function, and do not raise a run-time error about the function not
- existing. End users should use function_exists() to test for the
- existence of a function
-
-[9] Prefer emalloc(), efree(), estrdup(), etc. to their standard C library
- counterparts. These functions implement an internal "safety-net"
- mechanism that ensures the deallocation of any unfreed memory at the
- end of a request. They also provide useful allocation and overflow
- information while running in debug mode.
-
- In almost all cases, memory returned to the engine must be allocated
- using emalloc().
-
- The use of malloc() should be limited to cases where a third-party
- library may need to control or free the memory, or when the memory in
- question needs to survive between multiple requests.
-
-Naming Conventions
-------------------
-
-[1] Function names for user-level functions should be enclosed with in
- the PHP_FUNCTION() macro. They should be in lowercase, with words
- underscore delimited, with care taken to minimize the letter count.
- Abbreviations should not be used when they greatly decrease the
- readability of the function name itself.
-
- Good:
- 'mcrypt_enc_self_test'
- 'mysql_list_fields'
-
- Ok:
- 'mcrypt_module_get_algo_supported_key_sizes'
- (could be 'mcrypt_mod_get_algo_sup_key_sizes'?)
- 'get_html_translation_table'
- (could be 'html_get_trans_table'?)
-
- Bad:
- 'hw_GetObjectByQueryCollObj'
- 'pg_setclientencoding'
- 'jf_n_s_i'
-
-[2] If they are part of a "parent set" of functions, that parent should
- be included in the user function name, and should be clearly related
- to the parent program or function family. This should be in the form
- of parent_*.
-
- A family of 'foo' functions, for example:
- Good:
- 'foo_select_bar'
- 'foo_insert_baz'
- 'foo_delete_baz'
-
- Bad:
- 'fooselect_bar'
- 'fooinsertbaz'
- 'delete_foo_baz'
-
-[3] Function names used by user functions should be prefixed
- with "_php_", and followed by a word or an underscore-delimited list of
- words, in lowercase letters, that describes the function. If applicable,
- they should be declared 'static'.
-
-[4] Variable names must be meaningful. One letter variable names must be
- avoided, except for places where the variable has no real meaning or
- a trivial meaning (e.g. for (i=0; i<100; i++) ...).
-
-[5] Variable names should be in lowercase. Use underscores to separate
- between words.
-
-[6] Method names follow the 'studlyCaps' (also referred to as 'bumpy case'
- or 'camel caps') naming convention, with care taken to minimize the
- letter count. The initial letter of the name is lowercase, and each
- letter that starts a new 'word' is capitalized.
-
- Good:
- 'connect()'
- 'getData()'
- 'buildSomeWidget()'
-
- Bad:
- 'get_Data()'
- 'buildsomewidget'
- 'getI()'
-
-[7] Classes should be given descriptive names. Avoid using abbreviations
- where possible. Each word in the class name should start with a capital
- letter, with words underscore delimited. The class name should be prefixed
- with the name of the 'parent set'.
-
- Good:
- 'Curl'
- 'Foo_Bar'
-
- Bad:
- 'foobar'
- 'foo_bar'
- 'FooBar'
-
-
-Syntax and indentation
-----------------------
-
-[1] Never use C++ style comments (i.e. // comment). Always use C-style
- comments instead. PHP is written in C, and is aimed at compiling
- under any ANSI-C compliant compiler. Even though many compilers
- accept C++-style comments in C code, you have to ensure that your
- code would compile with other compilers as well.
- The only exception to this rule is code that is Win32-specific,
- because the Win32 port is MS-Visual C++ specific, and this compiler
- is known to accept C++-style comments in C code.
-
-[2] Use K&R-style. Of course, we can't and don't want to
- force anybody to use a style he or she is not used to, but,
- at the very least, when you write code that goes into the core
- of PHP or one of its standard modules, please maintain the K&R
- style. This applies to just about everything, starting with
- indentation and comment styles and up to function declaration
- syntax.
-
- (see also http://www.catb.org/~esr/jargon/html/I/indent-style.html)
-
-[3] Be generous with whitespace and braces. Always prefer:
-
- if (foo) {
- bar;
- }
-
- to:
-
- if(foo)bar;
-
- Keep one empty line between the variable declaration section and
- the statements in a block, as well as between logical statement
- groups in a block. Maintain at least one empty line between
- two functions, preferably two.
-
-[4] When indenting, use the tab character. A tab is expected to represent
- four spaces. It is important to maintain consistency in indenture so
- that definitions, comments, and control structures line up correctly.
-
-[5] Preprocessor statements (#if and such) MUST start at column one. To
- indent preprocessor directives you should put the # at the beginning
- of a line, followed by any number of whitespace.
-
-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)
- Returns the absolute value of the number */
-PHP_FUNCTION(abs)
-{
- ...
-}
-/* }}} */
-
-The {{{ symbols are the default folding symbols for the folding mode in
-Emacs and vim (set fdm=marker). Folding is very useful when dealing with
-large files because you can scroll through the file quickly and just unfold
-the function you wish to work on. The }}} at the end of each function marks
-the end of the fold, and should be on a separate line.
-
-The "proto" keyword there is just a helper for the doc/genfuncsummary script
-which generates a full function summary. Having this keyword in front of the
-function prototypes allows us to put folds elsewhere in the code without
-messing up the function summary.
-
-Optional arguments are written like this:
-
-/* {{{ proto object imap_header(int stream_id, int msg_no [, int from_length [, int subject_length [, string default_host]]])
- Returns a header object with the defined parameters */
-
-And yes, please keep the prototype on a single line, even if that line
-is massive.
-
-New and Experimental Functions
------------------------------------
-To reduce the problems normally associated with the first public
-implementation of a new set of functions, it has been suggested
-that the first implementation include a file labeled 'EXPERIMENTAL'
-in the function directory, and that the functions follow the
-standard prefixing conventions during their initial implementation.
-
-The file labelled 'EXPERIMENTAL' should include the following
-information:
- Any authoring information (known bugs, future directions of the module).
- Ongoing status notes which may not be appropriate for CVS comments.
-
-Aliases & Legacy Documentation
------------------------------------
-You may also have some deprecated aliases with close to duplicate
-names, for example, somedb_select_result and somedb_selectresult. For
-documentation purposes, these will only be documented by the most
-current name, with the aliases listed in the documentation for
-the parent function. For ease of reference, user-functions with
-completely different names, that alias to the same function (such as
-highlight_file and show_source), will be separately documented. The
-proto should still be included, describing which function is aliased.
-
-Backwards compatible functions and names should be maintained as long
-as the code can be reasonably be kept as part of the codebase. See
-/phpdoc/README for more information on documentation.
View
2 CREDITS
@@ -1,2 +0,0 @@
-For the list of people who've put work into PHP, please see
-http://www.php.net/credits.php
View
3,850 ChangeLog
0 additions, 3,850 deletions not shown because the diff is too large. Please use a local Git client to view these changes.
View
BIN ChangeLog.1999.gz
Binary file not shown.
View
BIN ChangeLog.2000.gz
Binary file not shown.
View
BIN ChangeLog.2001.gz
Binary file not shown.
View
BIN ChangeLog.2002.gz
Binary file not shown.
View
BIN ChangeLog.2003.gz
Binary file not shown.
View
BIN ChangeLog.2004.gz
Binary file not shown.
View
522 EXTENSIONS
@@ -1,522 +0,0 @@
- List of PHP maintainers
- =======================
-
-Maintenance legend
-------------------
- Supported: Someone is actually paid to look after this.
- Maintained: Someone actually looks after it.
- Odd Fixes: It has a maintainer but they don't have time to do
- much other than throw the odd patch in. See below.
- Orphan: No current maintainer [but maybe you could take the
- role as you write your new code].
- Obsolete: Old code. Something tagged obsolete generally means
- it has been replaced by a better system and you
- should be using that.
- Unknown: Not known at this time.
-
-Status legend
--------------
- Working: Working under both Windows and Unix.
- Windows: Working only under Windows.
- Unix: Working only under Unix.
- Experimental: Under development or initial release.
- Not Working: Not working.
- Unknown: Status unknown.
-
-
-== Server APIs ==
-
--------------------------------------------------------------------------------
-EXTENSION: aolserver
-MAINTENANCE: Unknown
-STATUS: Unknown
--------------------------------------------------------------------------------
-EXTENSION: apache
-PRIMARY MAINTAINER: Rasmus Lerdorf <rasmus@php.net>
-MAINTENANCE: Maintained
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: apache_hooks
-MAINTENANCE: Unknown
-STATUS: Unknown
--------------------------------------------------------------------------------
-EXTENSION: apache2filter
-PRIMARY MAINTAINER: Aaron Bannert <aaron@php.net>
-MAINTENANCE: Maintained
-STATUS: Experimental
--------------------------------------------------------------------------------
-EXTENSION: apache2handler
-PRIMARY MAINTAINER: Aaron Bannert <aaron@php.net>
-MAINTENANCE: Maintained
-STATUS: Experimental
--------------------------------------------------------------------------------
-EXTENSION: caudium
-MAINTENANCE: Unknown
-STATUS: Unknown
--------------------------------------------------------------------------------
-EXTENSION: cgi
-MAINTENANCE: Unknown
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: cli
-MAINTENANCE: Marcus Boerger <helly@php.net>, Edin Kadribasic <edink@php.net>
-STATUS: Working
-SINCE: 4.3.0
--------------------------------------------------------------------------------
-EXTENSION: continuity
-PRIMARY MAINTAINER: Alex Leigh <aleigh@php.net>
-MAINTENANCE: Unknown
-STATUS: Unknown
--------------------------------------------------------------------------------
-EXTENSION: embed
-PRIMARY MAINTAINER: Edin Kadribasic <edink@php.net>
-MAINTENANCE: Maintained
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: isapi
-MAINTENANCE: Unknown
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: milter
-MAINTENANCE: Unknown
-STATUS: Unknown
--------------------------------------------------------------------------------
-EXTENSION: nsapi
-PRIMARY MAINTAINER: Uwe Schindler <thetaphi@php.net>
-MAINTENANCE: Maintained
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: phttpd
-MAINTENANCE: Unknown
-STATUS: Unknown
--------------------------------------------------------------------------------
-EXTENSION: pi3web
-MAINTENANCE: Unknown
-STATUS: Unknown
--------------------------------------------------------------------------------
-EXTENSION: roxen
-MAINTENANCE: Unknown
-STATUS: Unknown
--------------------------------------------------------------------------------
-EXTENSION: thttpd
-PRIMARY MAINTAINER: Sascha Schumann <sascha@schumann.cx>
-MAINTENANCE: Odd fixes
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: tux
-MAINTENANCE: Unknown
-STATUS: Unknown
--------------------------------------------------------------------------------
-EXTENSION: webjames
-PRIMARY MAINTAINER: Alex Waugh <alex@alexwaugh.com>
-MAINTENANCE: Maintained
-STATUS: Experimental
--------------------------------------------------------------------------------
-
-
-== Database extensions ==
-
--------------------------------------------------------------------------------
-EXTENSION: dba
-PRIMARY MAINTAINER: Marcus B�rger <helly@php.net>
-MAINTENANCE: Maintained
-STATUS: Working
-COMMENT: DBM abstraction for db2, db3, db4, dbm, ndbm, gdbm, ini
--------------------------------------------------------------------------------
-EXTENSION: dbase
-MAINTENANCE: Orphaned
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: dbx
-PRIMARY MAINTAINER: Marc Boeren <M.Boeren@guidance.nl>
-MAINTENANCE: Maintained
-STATUS: Working
-SINCE: 4.0.6
-COMMENT: DB abstraction for odbc, mysql, pgsql, mssql, fbsql and more, see documentation
--------------------------------------------------------------------------------
-EXTENSION: fbsql
-PRIMARY MAINTAINER: Frank M. Kromann <fmk@swwwing.com>
-MAINTENANCE: Unknown
-STATUS: Unknown
--------------------------------------------------------------------------------
-EXTENSION: informix
-PRIMARY MAINTAINER: Danny Heijl <Danny.Heijl@cevi.be>
-MAINTENANCE: Maintained
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: ingres_ii
-PRIMARY MAINTAINER: David H�not <henot@php.net>
-MAINTENANCE: Maintained
-STATUS: Experimental
-SINCE: 4.0.2
--------------------------------------------------------------------------------
-EXTENSION: interbase
-PRIMARY MAINTAINER: Ard Biesheuvel <ard@ard.nu>, Jouni Ahto <jouni.ahto@exdec.fi>
-MAINTENANCE: Maintained
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: msql
-MAINTENANCE: Unknown
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: mssql
-PRIMARY MAINTAINER: Frank M. Kromann <fmk@swwwing.com>
-MAINTENANCE: Maintained
-STATUS: Working
-COMMENT: Tested on phpts and isapi versions
--------------------------------------------------------------------------------
-EXTENSION: mysql
-PRIMARY MAINTAINER: Zak Greant <zak@mysql.com>, Georg Richter <georg@php.net>
-MAINTENANCE: Maintained
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: mysqli
-PRIMARY MAINTAINER: Georg Richter <georg@php.net>
-MAINTENANCE: Maintained
-STATUS: Experimental
-SINCE: 5.0
--------------------------------------------------------------------------------
-EXTENSION: oci8
-PRIMARY MAINTAINER: Antony Dovgal <tony2001@php.net>
-MAINTENANCE: Maintained
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: odbc
-PRIMARY MAINTAINER: Daniel R. Kalowsky <kalowsky@php.net>
-MAINTENANCE: Maintained
-STATUS: Working
-COMMENT: Working
--------------------------------------------------------------------------------
-EXTENSION: oracle
-MAINTENANCE: Orphaned
-STATUS: Working
-COMMENT: Using the new OCI8 driver is encouraged where possible.
--------------------------------------------------------------------------------
-EXTENSION: ovrimos
-MAINTENANCE: Unknown
-STATUS: Unknown
--------------------------------------------------------------------------------
-EXTENSION: pgsql
-PRIMARY MAINTAINER: Marcus Boerger <helly@php.net>, Yasuo Ohgaki <yohgaki@php.net>
-MAINTENANCE: Maintained
-STATUS: Working
-COMMENT: Use PostgreSQL 7.0.x or later. PostgreSQL 6.5.3 or less have fatal bug.
--------------------------------------------------------------------------------
-EXTENSION: sqlite
-PRIMARY MAINTAINER: Marcus Boerger <helly@php.net>, Wez Furlong <wez@php.net>
-MAINTENANCE: Maintained
-STATUS: Working
-SINCE: 5.0 (Since 4.3.2 in PECL)
-COMMENT: Integrates SQLite embeddable SQL database engine.
--------------------------------------------------------------------------------
-EXTENSION: sybase
-MAINTENANCE: Unknown
-STATUS: Not Working
--------------------------------------------------------------------------------
-EXTENSION: sybase_ct
-MAINTENANCE: Unknown
-STATUS: Working
--------------------------------------------------------------------------------
-
-
-== XML extensions ==
-
--------------------------------------------------------------------------------
-EXTENSION: dom
-PRIMARY MAINTAINER: Christian Stocker <chregu@php.net>, Rob Richards <rrichards@php.net>, Marcus Boerger <helly@php.net>
-MAINTENANCE: Maintained
-STATUS: Working
-SINCE: 5.0
--------------------------------------------------------------------------------
-EXTENSION: simplexml
-PRIMARY MAINTAINER: Sterling Hughes <sterling@php.net>
-MAINTENANCE: Maintained
-STATUS: Working
-SINCE: 5.0
--------------------------------------------------------------------------------
-EXTENSION: soap
-PRIMARY MAINTAINER: Dmitry Stogov <dmitry@zend.com>
-MAINTENANCE: Maintained
-STATUS: Experimental
--------------------------------------------------------------------------------
-EXTENSION: wddx
-PRIMARY MAINTAINER: Andrei Zmievski <andrei@php.net>
-MAINTENANCE: Maintained
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: xml
-PRIMARY MAINTAINER: Thies C. Arntzen <thies@thieso.net>
-MAINTENANCE: Maintained
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: xmlrpc
-PRIMARY MAINTAINER: Dan Libby
-MAINTENANCE: UNKNOWN
-STATUS: Experimental
--------------------------------------------------------------------------------
-EXTENSION: xsl
-PRIMARY MAINTAINER: Christian Stocker <chregu@php.net>, Rob Richards <rrichards@php.net>
-MAINTENANCE: Maintained
-STATUS: Working
-SINCE: 5.0
--------------------------------------------------------------------------------
-
-
-== Other extensions ==
-
--------------------------------------------------------------------------------
-EXTENSION: bcmath
-MAINTENANCE: Unknown
-STATUS: Unknown
--------------------------------------------------------------------------------
-EXTENSION: bz2
-PRIMARY MAINTAINER: Hartmut Holzgraefe <hholzgra@php.net>
-MAINTENANCE: Odd Fixes
-STATUS: Working
-SINCE: 4.0.3
--------------------------------------------------------------------------------
-EXTENSION: calendar
-PRIMARY MAINTAINER: Hartmut Holzgraefe <hholzgra@php.net>
-MAINTENANCE: Odd Fixes
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: com_dotnet
-PRIMARY MAINTAINER: Wez Furlong <wez@php.net>
-MAINTENANCE: Maintained
-STATUS: Windows
-SINCE: 5.0
--------------------------------------------------------------------------------
-EXTENSION: cpdf
-PRIMARY MAINTAINER: Uwe Steinmann <steinm@php.net>
-MAINTENANCE: Maintained
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: ctype
-PRIMARY MAINTAINER: Hartmut Holzgraefe <hholzgra@php.net>
-MAINTENANCE: Maintained
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: curl
-PRIMARY MAINTAINER: Sterling Hughes <sterling@php.net>
-MAINTENANCE: Maintained
-STATUS: Working
-SINCE: 4.0.2
--------------------------------------------------------------------------------
-EXTENSION: exif
-PRIMARY MAINTAINER: Marcus Boerger <helly@php.net>
-MAINTENANCE: Maintained
-STATUS: Working
-SINCE: 4.2
--------------------------------------------------------------------------------
-EXTENSION: fam
-PRIMARY MAINTAINER: Sascha Schumann <sascha@schumann.cx>
-MAINTENANCE: Unknown
-STATUS: Unknown
--------------------------------------------------------------------------------
-EXTENSION: fdf
-PRIMARY MAINTAINER: Uwe Steinmann <steinm@php.net>
-MAINTENANCE: Maintained
-STATUS: Unknown
--------------------------------------------------------------------------------
-EXTENSION: filepro
-MAINTENANCE: Unknown
-STATUS: Unknown
--------------------------------------------------------------------------------
-EXTENSION: ftp
-PRIMARY MAINTAINER: Stefan Esser (sesser@php.net)
-MAINTENANCE: Maintained
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: gd
-PRIMARY MAINTAINER: Rasmus Lerdorf <rasmus@php.net>
-MAINTENANCE: Maintained
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: gettext
-MAINTENANCE: Unknown
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: gmp
-MAINTENANCE: Unknown
-STATUS: Unknown
-SINCE: 4.0.4
--------------------------------------------------------------------------------
-EXTENSION: hwapi
-PRIMARY MAINTAINER: Uwe Steinmann <steinm@php.net>
-MAINTENANCE: Unknown
-STATUS: Unknown
--------------------------------------------------------------------------------
-EXTENSION: iconv
-PRIMARY MAINTAINER: Moriyoshi Koizumi <moriyoshi@php.net>
-MAINTENANCE: Maintained
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: imap
-PRIMARY MAINTAINER: Chuck Hagenbuch <chuck@horde.org>
-MAINTENANCE: Odd Fixes
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: ircg
-PRIMARY MAINTAINER: Sascha Schumann <sascha@schumann.cx>
-MAINTENANCE: Unknown
-STATUS: Unknown
--------------------------------------------------------------------------------
-EXTENSION: ldap
-PRIMARY MAINTAINER: Stig Venaas <venaas@php.net>
-MAINTENANCE: Maintained
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: mbstring
-PRIMARY MAINTAINER: Rui Hirokawa <hirokawa@php.net>
-MAINTENANCE: Maintained
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: mcrypt
-PRIMARY MAINTAINER: Derick Rethans <derick@derickrethans.nl>
-MAINTENANCE: Maintained
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: mcve
-PRIMARY MAINTAINER: Unknown
-MAINTENANCE: Unknown
-STATUS: Unknown
--------------------------------------------------------------------------------
-EXTENSION: mhash
-PRIMARY MAINTAINER: Sascha Schumann <sascha@schumann.cx>
-MAINTENANCE: Maintained
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: mime_magic
-PRIMARY MAINTAINER: Unknown
-MAINTENANCE: Deprecated
-STATUS: Experimental
-COMMENT: Use PECL's fileinfo extension instead
--------------------------------------------------------------------------------
-EXTENSION: ming
-PRIMARY MAINTAINER: Frank M. Kromann
-MAINTENANCE: Unknown
-STATUS: Experimental
--------------------------------------------------------------------------------
-EXTENSION: mnogosearch
-PRIMARY MAINTAINER: Sergey Kartashoff <gluke@mail.ru>
-MAINTENANCE: Unknown
-STATUS: Unknown
--------------------------------------------------------------------------------
-EXTENSION: mono
-PRIMARY MAINTAINER: Sterling Hughes <sterling@php.net>
-MAINTENANCE: Unknown
-STATUS: Unknown
--------------------------------------------------------------------------------
-EXTENSION: msession
-PRIMARY MAINTAINER Mark L. Woodward <mlwmohawk@mohawksoft.com>
-MAINTENANCE: Maintained
-STATUS: Working/Experimental
-COMMENT: Tested on Linux, should work on other UNIX platforms. Backend server code can compile under Windows.
--------------------------------------------------------------------------------
-EXTENSION: ncurses
-PRIMARY MAINTAINER Ilia Alshanetsky <iliaa@php.net>, Wez Furlong <wez@php.net>, Hartmut Holzgraefe <hholzgra@php.net>, Georg Richter <georg@php.net>
-MAINTENANCE: Unknown
-STATUS: Experimental
--------------------------------------------------------------------------------
-EXTENSION: openssl
-PRIMARY MAINTAINER: Wez Furlong <wez@php.net>
-MAINTENANCE: Maintained
-STATUS: Experimental
-SINCE: 4.0.4
--------------------------------------------------------------------------------
-EXTENSION: pcntl
-MAINTENANCE: Unknown
-STATUS: Experimental
--------------------------------------------------------------------------------
-EXTENSION: pcre
-PRIMARY MAINTAINER: Andrei Zmievski <andrei@php.net>
-MAINTENANCE: Maintained
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: pfpro
-PRIMARY MAINTAINER: David Croft <david@infotrek.co.uk>
-MAINTENANCE: Maintained
-STATUS: Working
-SINCE: 4.0.2
--------------------------------------------------------------------------------
-EXTENSION: posix
-PRIMARY MAINTAINER: Kristian K�hntopp <kris@koehntopp.de>
-MAINTENANCE: Maintained
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: pspell
-PRIMARY MAINTAINER: Vlad Krupin <phpdevel@echospace.com>
-MAINTENANCE: Unknown
-STATUS: Unknown
-SINCE: 4.0.2
--------------------------------------------------------------------------------
-EXTENSION: readline
-MAINTENANCE: Unknown
-STATUS: Unknown
--------------------------------------------------------------------------------
-EXTENSION: recode
-PRIMARY MAINTAINER: Kristian K�hntopp <kris@koehntopp.de>
-MAINTENANCE: Maintained
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: session
-PRIMARY MAINTAINER: Sascha Schumann <sascha@schumann.cx>
-MAINTENANCE: Maintained
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: shmop
-PRIMARY MAINTAINER: Ilia Alshanetsky <iliaa@php.net>
-MAINTENANCE: Maintained
-STATUS: Experimental
-SINCE: 4.0.3
--------------------------------------------------------------------------------
-EXTENSION: snmp
-PRIMARY MAINTAINER: Rasmus Lerdorf <rasmus@php.net>
-MAINTENANCE: Odd Fixes
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: sockets
-PRIMARY MAINTAINER: Chris Vandomelen <chrisv@b0rked.dhs.org>
-MAINTENANCE: Maintained
-STATUS: Experimental
-SINCE: 4.0.2
--------------------------------------------------------------------------------
-EXTENSION: spl
-PRIMARY MAINTAINER: Marcus Boerger <helly@php.net>
-MAINTENANCE: Maintained
-STATUS: Working
-SINCE: 5.0.0
--------------------------------------------------------------------------------
-EXTENSION: sysvmsg
-MAINTENANCE: Unknown
-STATUS: Unknown
--------------------------------------------------------------------------------
-EXTENSION: sysvsem
-MAINTENANCE: Unknown
-STATUS: Unknown
--------------------------------------------------------------------------------
-EXTENSION: sysvshm
-MAINTENANCE: Unknown
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: tidy
-PRIMARY MAINTAINER: John Coggeshall <john@php.net>, Ilia Alshanetsky <iliaa@php.net>
-MAINTENANCE: Maintained
-STATUS: Unknown
--------------------------------------------------------------------------------
-EXTENSION: tokenizer
-PRIMARY MAINTAINER: Andrei Zmievski <andrei@php.net>
-MAINTENANCE: Unknown
-STATUS: Unknown
--------------------------------------------------------------------------------
-EXTENSION: yaz
-PRIMARY MAINTAINER: Adam Dickmeiss <adam@indexdata.dk>
-MAINTENANCE: Maintained
-STATUS: Unknown
-SINCE: 4.0.1
--------------------------------------------------------------------------------
-EXTENSION: zlib
-PRIMARY MAINTAINER: Stefan Roehrich <sr@linux.de>
-MAINTENANCE: Maintained
-STATUS: Working
--------------------------------------------------------------------------------
View
1,525 INSTALL
0 additions, 1,525 deletions not shown because the diff is too large. Please use a local Git client to view these changes.
View
68 LICENSE
@@ -1,68 +0,0 @@
---------------------------------------------------------------------
- The PHP License, Version 3.0
-Copyright (c) 1999 - 2003 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 written permission. For
- written permission, please contact group@php.net.
-
- 4. Products derived from this software may not be called "PHP", nor
- may "PHP" appear in their name, without prior written permission
- from group@php.net. You may indicate that your software works in
- conjunction with PHP by saying "Foo for PHP" instead of calling
- it "PHP Foo" or "phpfoo"
-
- 5. 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.
-
- 6. Redistributions of any form whatsoever must retain the following
- acknowledgment:
- "This product includes PHP, freely available from
- <http://www.php.net/>".
-
-THIS SOFTWARE IS PROVIDED BY THE PHP DEVELOPMENT TEAM ``AS IS'' AND
-ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
-PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE PHP
-DEVELOPMENT TEAM OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
-INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
-STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
-OF THE POSSIBILITY OF SUCH DAMAGE.
-
---------------------------------------------------------------------
-
-This software consists of voluntary contributions made by many
-individuals on behalf of the PHP Group.
-
-The PHP Group can be contacted via Email at group@php.net.
-
-For more information on the PHP Group and the PHP project,
-please see <http://www.php.net>.
-
-This product includes the Zend Engine, freely available at
-<http://www.zend.com>.
View
23 Makefile.frag
@@ -1,23 +0,0 @@
-
-#
-# Zend
-#
-
-$(builddir)/zend_language_scanner.lo: $(builddir)/zend_language_parser.h
-$(builddir)/zend_ini_scanner.lo: $(builddir)/zend_ini_parser.h
-
-$(builddir)/zend_language_scanner.c: $(srcdir)/zend_language_scanner.l
- $(LEX) -Pzend -S$(srcdir)/flex.skl -o$@ -i $(srcdir)/zend_language_scanner.l
-
-$(builddir)/zend_language_parser.h: $(builddir)/zend_language_parser.c
-$(builddir)/zend_language_parser.c: $(srcdir)/zend_language_parser.y
- $(YACC) -p zend -v -d $(srcdir)/zend_language_parser.y -o $@
-
-$(builddir)/zend_ini_parser.h: $(builddir)/zend_ini_parser.c
-$(builddir)/zend_ini_parser.c: $(srcdir)/zend_ini_parser.y
- $(YACC) -p ini_ -v -d $(srcdir)/zend_ini_parser.y -o $@
-
-$(builddir)/zend_ini_scanner.c: $(srcdir)/zend_ini_scanner.l
- $(LEX) -Pini_ -S$(srcdir)/flex.skl -o$@ -i $(srcdir)/zend_ini_scanner.l
-
-$(builddir)/zend_indent.lo $(builddir)/zend_highlight.lo $(builddir)/zend_compile.lo: $(builddir)/zend_language_parser.h
View
76 Makefile.global
@@ -1,76 +0,0 @@
-mkinstalldirs = $(top_srcdir)/build/shtool mkdir -p
-INSTALL = $(top_srcdir)/build/shtool install -c
-INSTALL_DATA = $(INSTALL) -m 644
-
-DEFS = -DPHP_ATOM_INC -I$(top_builddir)/include -I$(top_builddir)/main -I$(top_srcdir)
-COMMON_FLAGS = $(DEFS) $(INCLUDES) $(EXTRA_INCLUDES) $(CPPFLAGS) $(PHP_FRAMEWORKPATH)
-
-
-all: $(all_targets)
- @echo
- @echo "Build complete."
- @echo "(It is safe to ignore warnings about tempnam and tmpnam)."
- @echo
-
-build-modules: $(PHP_MODULES)
-
-libphp5.la: $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS)
- $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -rpath $(phptempdir) $(EXTRA_LDFLAGS) $(LDFLAGS) $(PHP_RPATHS) $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS) $(EXTRA_LIBS) $(ZEND_EXTRA_LIBS) -o $@
- -@$(LIBTOOL) --silent --mode=install cp libphp5.la $(phptempdir)/libphp5.la >/dev/null 2>&1
-
-libs/libphp5.bundle: $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS)
- $(CC) $(MH_BUNDLE_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) $(LDFLAGS) $(EXTRA_LDFLAGS) $(PHP_GLOBAL_OBJS:.lo=.o) $(PHP_SAPI_OBJS:.lo=.o) $(PHP_FRAMEWORKS) $(EXTRA_LIBS) $(ZEND_EXTRA_LIBS) -o $@ && cp $@ libs/libphp5.so
-
-install: $(all_targets) $(install_targets)
-
-install-sapi: $(OVERALL_TARGET)
- @echo "Installing PHP SAPI module: $(PHP_SAPI)"
- -@$(mkinstalldirs) $(INSTALL_ROOT)$(bindir)
- -@if test ! -r $(phptempdir)/libphp5.$(SHLIB_SUFFIX_NAME); then \
- for i in 0.0.0 0.0 0; do \
- if test -r $(phptempdir)/libphp5.$(SHLIB_SUFFIX_NAME).$$i; then \
- $(LN_S) $(phptempdir)/libphp5.$(SHLIB_SUFFIX_NAME).$$i $(phptempdir)/libphp5.$(SHLIB_SUFFIX_NAME); \
- break; \
- fi; \
- done; \
- fi
- @$(INSTALL_IT)
-
-install-modules: build-modules
- @test -d modules && \
- $(mkinstalldirs) $(INSTALL_ROOT)$(EXTENSION_DIR)
- @echo "Installing shared extensions: $(INSTALL_ROOT)$(EXTENSION_DIR)/"
- @rm -f modules/*.la >/dev/null 2>&1
- @$(INSTALL) modules/* $(INSTALL_ROOT)$(EXTENSION_DIR)
-
-install-tester:
- @echo "Installing regression tester: $(INSTALL_ROOT)$(PEAR_INSTALLDIR)/"
- @$(mkinstalldirs) $(INSTALL_ROOT)$(PEAR_INSTALLDIR)
- @$(INSTALL) -m 755 $(top_srcdir)/run-tests.php $(INSTALL_ROOT)$(PEAR_INSTALLDIR)
-
-install-su: install-pear install-tester
-
-test:
- -@if test -x $(SAPI_CLI_PATH) && test ! -z $(SAPI_CLI_PATH); then \
- TEST_PHP_EXECUTABLE=$(top_builddir)/$(SAPI_CLI_PATH) \
- TEST_PHP_SRCDIR=$(top_srcdir) \
- CC="$(CC)" \
- $(top_builddir)/$(SAPI_CLI_PATH) -d 'open_basedir=' -d 'safe_mode=0' -d 'output_buffering=0' $(top_srcdir)/run-tests.php $(TESTS); \
- else \
- echo "ERROR: Cannot run tests without CLI sapi."; \
- fi
-
-clean:
- find . -name \*.lo -o -name \*.o | xargs rm -f
- find . -name \*.la -o -name \*.a | xargs rm -f
- find . -name \*.so | xargs rm -f
- find . -name .libs -a -type d|xargs rm -rf
- rm -f libphp5.la $(SAPI_CLI_PATH) $(OVERALL_TARGET) modules/* libs/*
-
-distclean: clean
- rm -f config.cache config.log config.status Makefile.objects Makefile.fragments libtool main/php_config.h stamp-h php5.spec sapi/apache/libphp5.module buildmk.stamp
- egrep define'.*include/php' configure|sed 's/.*>//'|xargs rm -f
- find . -name Makefile | xargs rm -f
-
-.PHONY: all clean install distclean test
-.NOEXPORT:
View
633 NEWS
@@ -1,633 +0,0 @@
-PHP NEWS
-|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-?? ??? 2004, PHP 5.1.0
-- Moved extensions to PECL:
- . ext/cpdf (Tony, Derick)
- . ext/dio (Jani, Derick)
- . ext/fam (Jani, Derick)
- . ext/mnogosearch (Jani, Derick)
- . ext/w32api (Jani, Derick)
- . ext/yp (Jani, Derick)
-- Changed stream_filter_(ap|pre)pend() to return resource. (Sara)
-- Changed mysqli_exception and sqlite_exception to use RuntimeException as base
- if SPL extension is present. (Georg, Marcus)
-- Removed garbage manager in Zend Engine which results in more aggressive
- freeing of data. (Dmitry, Andi)
-- Improved support for embedded server in mysqli. (Georg)
-- Improved performance of:
- . general execution/compilation. (Andi, Thies, Sterling, Dmitry, Marcus)
- . switch() statement. (Dmitry)
- . several array functions. (Marcus)
- . virtual path handling by adding a realpath() cache. (Andi)
- . variable fetches. (Andi)
- . magic method invocations. (Marcus)
-- Improved extension SPL (Marcus).
- . added standard hierarchy of Exception classes
- . added interface Countable
- . added interfaces Subject and Observer
- . added spl_autoload*() functions
- . converted several 5.0 examples into c code
- . added class File
-- Added interface Serializeable. (Stanislav, Marcus)
-- Added pg_field_type_oid() PostgreSQL function. (mauroi at digbang dot com)
-- Added zend_declare_property_...() and zend_update_property_...()
- API functions for bool, double and binary safe strings. (Hartmut)
-- Added new classes in mysqli: mysqli_driver, mysqli_warning, mysqli_exception,
- and mysqli_sql_exception. (Georg)
-- Added possibility to access INI variables from within .ini file. (Andrei)
-- Added constructors for mysqli_stmt and mysqli_result classes. (Georg)
-- Added variable $_SERVER['REQUEST_TIME'] containing request start time. (Ilia)
-- Added optional float parameter to gettimeofday(). (Ilia)
-- Added apache_reset_timeout() Apache1 function. (Rasmus)
-- Added sqlite_fetch_column_types() 3rd argument for arrays. (Ilia)
-- Added optional offset parameter to stream_get_contents() and
- file_get_contents(). (Ilia)
-- Added optional maxlen parameter to file_get_contents(). (Ilia)
-- Added SAPI hook to get the current request time. (Rasmus)
-- Added new functions:
- . array_diff_key() (Andrey)
- . array_diff_ukey() (Andrey)
- . array_intersect_key() (Christiano Duarte)
- . array_intersect_ukey() (Christiano Duarte)
- . stream_context_get_default() (Wez)
- . stream_socket_enable_crypto() (Wez)
- . stream_wrapper_unregister() (Sara)
- . stream_wrapper_restore() (Sara)
- . stream_filter_remove() (Sara)
- . DomDocumentFragment::appendXML() (Christian)
- . SimpleXMLElement::registerXPathNamespace() (Christian)
- . mysqli::client_info property (Georg)
- . inet_pton() (Sara)
- . inet_ntop() (Sara)
- . fputcsv() (David Sklar)
- . posix_access() (Magnus)
- . htmlspecialchars_decode() (Ilia)
-- Added DomDocument::$recover property for parsing not well-formed
- XML Documents. (Christian)
-- Added Cursor support for MySQL 5.0.x in mysqli (Georg)
-- Added proxy support to ftp wrapper via http. (Sara)
-- Added MDTM support to ftp_url_stat. (Sara)
-- Added zlib stream filter support. (Sara)
-- Added bz2 stream filter support. (Sara)
-- Added HTTP/1.1 and chunked encoding support to http:// wrapper. (Sara)
-- Added support of parameter=>value arrays to
- xsl_xsltprocessor_set_parameter(). (Tony)
-- Fixed extension initialization to respect dependancies between extensions.
- (Wez)
-- Fixed a problem with SPL iterators aggregating the innner iterator. (Marcus)
-- Fixed bug with raw_post_data not getting set. (Brian)
-- Fixed bug in mysql::client_version(). (Georg)
-- Fixed ZTS destruction. (Marcus)
-- Fixed bug #32109 ($_POST is not populated in multithreaded environment).
- (Moriyoshi)
-- Fixed bug #31478 (segfault with empty() / isset()). (Moriyoshi)
-- Fixed bug #31033 (php:function(string, nodeset) with xsl:key crashes PHP).
- (Rob)
-- Fixed bug #30407 (Strange behaviour of default arguments). (Dmitry)
-- Fixed bug #29728 (Reflection API Feature: Default parameter value). (Marcus)
-- Fixed bug #29522 (accessing properties without connection). (Georg)
-- Fixed bug #29335 (fetch functions now use MYSQLI_BOTH as default). (Georg)
-- Fixed bug #29311 (calling parent constructor in mysqli). (Georg)
-- Fixed bug #29256 (SOAP HTTP Error when envelop size is more than 24345
- bytes). (Dmitry, Wez)
-- Fixed bug #29236 (memory error when wsdl-cache is enabled). (Dmitry)
-- Fixed bug #29109 (SoapFault exception: [WSDL] Out of memory). (Dmitry)
-- Fixed bug #29061 (soap extension segfaults). (Dmitry)
-- Fixed bug #28985 (__getTypes() returning nothing on complex WSDL). (Dmitry)
-- Fixed bug #28969 (Wrong data encoding of special characters). (Dmitry)
-- Fixed bug #28568 (SAPI::known_post_content_types is not thread safe).
- (Moriyoshi)
-
-13 Jul 2004, PHP 5.0.0
-- Rewritten UNIX and Windows install help files. (Documentation Team)
-- Updated PCRE to provide better error handling in certain cases. (Andrei)
-- Changed doc comments to require a single white space after '/**'. (Marcus)
-- Fixed bug #29019 (Database not closing). (Marcus)
-- Fixed bug #29008 (array_combine() does not handle non-numeric/string keys).
- (Ilia)
-- Fixed bug #28999 (fixed behaviour of exec() to work as it did in 4.X). (Ilia)
-- Fixed bug #28895 (ReflectionClass::isAbstract always returns false). (Marcus)
-- Fixed bug #28868 (Internal filter registry not thread safe). (Sara)
-- Fixed bug #28851 (call_user_func_array has typo in error message). (Marcus)
-- Fixed bug #28831 (ArrayObject::offsetGet() does the work of offsetUnset()).
- (Marcus)
-- Fixed bug #28822 (ArrayObject::offsetExists() works inverted). (Marcus)
-- Fixed bug #28789 (ReflectionProperty getValue() fails on public static
- members). (Marcus)
-- Fixed bug #28771 (Segfault when using xslt and clone). (Rob)
-- Fixed bug #28751 (SoapServer does not call _autoload()). (Dmitry)
-- Fixed bug #28739 (array_*diff() and array_*intersect() not clearing the fci
- cache before work). (Andrey)
-- Fixed bug #28721 (appendChild() and insertBefore() unset DOMText).(Rob)
-- Fixed bug #28702 (SOAP does not parse WSDL service address correctly). (Dmitry)
-- Fixed bug #28699 (Reflection api bugs). (Marcus)
-- Fixed bug #28694 (ReflectionExtension::getFunctions() crashes PHP). (Marcus)
-- Fixed bug #28512 (Allocate enough space to store MSSQL data). (Frank)
-- Fixed bug #28325 (Circular references not properly serialised). (Moriyoshi)
-- Fixed strip_tags() to correctly handle '\0' characters. (Stefan)
-
-7 Jun 2004, PHP 5 Release Candidate 3
-- Moved the PDFLib extension to PECL. (Wez)
-- Added MySQL 4.1.2-alpha and 4.1.3-beta support to MySQLI extension. (Georg)
-- Added support for dumping private/protected properties to var_dump().
- (Andrey)
-- Added count() support for COM arrays. (Wez)
-- Added Firebird/InterBase UDF source that allows PHP functions to be called
- from SQL (Ard)
-- Removed Firebird/Interbase function ibase_timefmt() (Ard)
-- Changed user error handler mechanism to relay to built-in error handler if it
- returns false. (Andrei)
-- Changed class type hints for function parameters to not allow the passing of
- NULL values. (Andi)
-- Changed tidy_node to tidyNode and removed tidy_exception. (John)
-- Fixed ip2long() to return FALSE if an IP address passed to this function
- is not valid. (Derick)
-- Fixed memory leak in memory manager. (Andi)
-- Fixed problem with exceptions returning from include(). (Dmitry)
-- Fixed bug #28641 (Instance of Interface). (Marcus)
-- Fixed bug #28430 (Extending mysqli class). (Georg)
-- Fixed bug #28311 (Transparency detection code is off by 1).
- (Ilia, pikeman at pikeman dot sytes dot net)
-- Fixed bug #28304 (Missing bounds check inside imagefilter()). (Ilia)
-- Fixed bug #28300 (Userspace stream/filter names forced to lowercase). (Sara)
-- Fixed bug #28287 (stream_*_register() not calling __autoload()). (Sara)
-- Fixed bug #28267 (php_image_filter_contrast calls gdImageBrightness). (Ilia)
-- Fixed bug #28239 (No results returned on SOAP call, no error given). (Dmitry)
-- Fixed bug #28205 (num_rows property for statement object). (Georg)
-- Fixed bug #28161 (COM: Array style properties could not be accessed). (Wez)
-- Fixed bug #28125 (ArrayObject leaks when accessing elements). (Marcus)
-- Fixed bug #28100 (NULL parameter support for mysqli_ssl_set). (Georg)
-- Fixed bug #28099 (ArrayObject doesn't implement ArrayAccess). (Marcus)
-- Fixed bug #27929 (SPL: change visibility of ArrayIterator::__construct).
- (Marcus)
-- Fixed bug #27640 (memory leak of registered_zend_ini_directives). (Dmitry)
-- Fixed bug #27063 (SPL: ArrayObject does not handle PPP correctly). (Marcus)
-
-25 Apr 2004, PHP 5 Release Candidate 2
-- Implementing an interface/abstract method with the wrong prototype is now
- a fatal error. (Zeev)
-- Reimplemented zend.ze1_compatibility_mode to have better PHP 4 compliance.
- (Dmitry, Andi)
-- Under CLI, fclose() on php://stdin, php://stdout and php://stderr will now
- close the real stream. Please update your CLI scripts to use STDIN, STDOUT
- and STDERR constants instead of fopen()/fclose(). (Wez)
-- Moved yaz extension to PECL. (Wez)
-- Added pty support to proc_open(). (Wez)
-- Added possibility to check in which extension an internal class was defined
- in using reflection API. (Marcus)
-- Changed tidy error handling to no longer use exceptions and
- renamed the "error_buf" property to errorBuffer. (John)
-- Changed class and method names to use studlyCaps convention. (Marcus)
-- Changed language parser to throw errors when a non-empty signature is used in
- a destructor definition. (Marcus)
-- Changed HTTP file uploads not to throw E_WARNINGs and E_NOTICEs. The error
- value in the $_FILES global should be used for error handling. (Derick)
-- Changed __construct() to always take precedence over old style constructor.
- (Dmitry)
-- Fixed handling of return values from storred procedures in mssql_execute()
- with multiple result sets returned. (Frank)
-- Fixed bug #28096 (stream_socket_accept() doesn't work with ssl). (Wez)
-- Fixed bug #28007 (compile mssql extension with old versions of FreeTDS
- fails). (Frank)
-- Fixed bug #27997 (SPL: Crash with getInnerIterator()). (Marcus)
-- Fixed bug #27974 (COM doesn't pass array parameters). (Wez)
-- Fixed bug #27928 (sqlite incorrectly handles invalid filenames). (Ilia)
-- Fixed bug $27923 (in some cases using foreach() to iterate over values
- led to a false error message about the key being a reference). (Adam)
-- Fixed bug #27865 (STDIN, STDOUT, STDERR are dup()d under CLI). (Wez)
-- Fixed bug #27821 (xml_parse() segfaults when xml_set_object() is called from
- class method). (Andi, Rob)
-- Fixed bug #27742 (WDSL SOAP Parsing Schema bug). (Dmitry)
-- Fixed bug #27722 (Segfault on schema without targetNamespace). (Dmitry)
-- Fixed bug #27719 (mktime issues on and around DST changeover). (Rasmus)
-- Fixed bug #27681 (soap extension fails without HAVE_TM_GMTOFF). (Dmitry)
-- Fixed bug #27641 (Object cloning in ze1_compatibility_mode was reimplemented)
- (Dmitry, Andi)
-- Fixed bug #27628 (Simplify the process of making a POST request via stream
- context). (Ilia)
-- Fixed bug #27619 (filters not applied to pre-buffered stream data). (Sara)
-- Fixed bug #27519 (Reflection_Function constructor crashes with non-existant
- function's name). (Marcus)
-- Fixed bug #27469 (serialize() objects of incomplete class). (Dmitry)
-- Fixed bug #27457 (handling of numeric indexes in strtr()). (Dmitry)
-- Fixed bug #27397 (debug_backtrace() not showing function arguments). (Zeev)
-- Fixed bug #27283 (The last catch statement was sometimes skipped). (Andi)
-- Fixed bug #26441 (When __set() returned a value it corrupted it). (Andi)
-- Fixed bug #19749 (shouldn't mmap() files larger than memory_limit). (Wez)
-
-18 March 2004, PHP 5 Release Candidate 1
-- Fixed numerous bugs with the just-in-time auto-global initialization, that
- could cause $_SERVER, $argv/$argc and other variables not to work properly.
- (Zeev)
-- Fixed data corruption with constant assignments to object properties. (Zeev)
-- Changed __toString() to be called automatically only with print and echo
- statements. (Andi)
-- Replaced the exec_finished hook by the zend_post_deactive hook for
- extensions. The new hook will be run after the symbol table and destructors
- are run. (Derick)
-- Fixed possible crash when internal get_method() is not defined. (Andi)
-- Fixed calling methods using call_user_func() in conjunction with
- the array("Class","Method") syntax to use the scope of the PHP user function.
- (Dmitry)
-- Fixed php-cgi to not ignore command-line switches when run in a web context.
- This fixes our test cases allowing INI with GET sections to work. (Rasmus)
-- Fixed getopt() so it works without $_SERVER. (Rasmus, bfrance)
-- Added support for PHP 4 style object comparisons which is enabled in
- ze1_compatiblity_mode. (Andi)
-- Added support for PHP 4 style object conversion to long, double, and boolean
- values which is enabled in ze1_compatibility_mode. (Andi, Stas)
-- Allow object oriented extensions to overload comparison functions and other
- operations. Solves problems using SimpleXML values. (Andi, Zeev)
-- Fixed crash when accessing a class constant with a value which in turn is
- also a constant. (Dmitry)
-- Fixed object's truth value conversion. It is always true unless
- ze1_compatibility_mode is on in which it behaves like in PHP 4. (Stas)
-- Improved out of memory handling in new memory manager. (Stas)
-- Fixed crash when an object references itself during destructor call. (Andi)
-- Fixed crash in foreach() when iterating over object properties or a method's
- return values. (Andi)
-- Fixed crash when an exception is thrown in a destructor. Such exceptions are
- now ignored as destruction happens out of context at no definite time. (Andi)
-- Fixed crashes in exception handling. (Dmitry, Andi)
-- Changed prototype checks so that they aren't done on constructors. (Andi)
-- Changed prototype checks to output an E_STRICT message instead of
- an E_COMPILE_ERROR. (Andi)
-- Changed Iterator::has_more() to Iterator::valid(). (Marcus)
-- Upgraded bundled oniguruma library to version 2.2.2. (Rui, Moriyoshi)
-- Added mb_list_encoding() to return an array with all mbstring supported
- encodings. (Derick)
-- Added support for more ISO8601 datetime formats in strtotime(). (Moriyoshi)
- . Timezone specifier (ex. "20040301T02:00:00+19:00")
- . Week specifier (ex. "1997W021")
-- Renamed php.ini option "zend2.implicit_clone" to
- "zend.ze1_compatibility_mode" as it doesn't only affect implicit cloning.
- (Andi, Zeev)
-- Methods that override parent methods are now subject to prototype checking,
- and have to be compatible with the method they're overriding - this check is
- disabled in compatibility mode. (Andi, Zeev)
-- Fixed crash in php_ini_scanned_files() when no additional INI files were
- actually parsed. (Jon)
-- Fixed bug in gdImageFilledRectangle in the bundled GD library, that required
- x1 < x2 and y1 < y2 for coordinates. (Derick)
-- Fixed crash with foreach() and temporary objects($obj->method()->a ...) where
- method returns a non-referenced object. (Andi, Zeev)
-- Fixed problem preventing startup errors from being displayed. (Marcus)
-- Fixed start-up problem if both SPL and SimpleXML were enabled. The double
- initialization of apache 1.3 was causing problems here. (Marcus, Derick)
-- Fixed bug #27606 (Expression must be a modifiable lvalue compiler error).
- (Derick)
-- Fixed bug #27597 (pg_fetch_array not returning false). (Marcus)
-- Fixed bug #27586 (ArrayObject::getIterator crashes with [] assignment).
- (Marcus)
-- Fixed bug #27537 (Objects pointing to each other segfaults). (Dmitry)
-- Fixed bug #27535 (Problem with object freeing mechanism). (Dmitry)
-- Fixed bug #27504 (Visibility bugs in call_user_function()). (Dmitry)
-- Fixed bug #27338 (memory leak inside tsrm_virtual_cwd.c on win32). (Ilia)
-- Fixed bug #27291 (get_browser matches browscap.ini patterns incorrectly).
- (Jay)
-- Fixed bug #27287 (wddx segfaults during deserialization). (Moriyoshi)
-- Fixed bug #27263 (session extension crashes when unserializing referenced
- values / objects). (Moriyoshi)
-- Fixed bug #27237 (Working with simplexml crashes apache2). (Rob)
-- Fixed bug #27227 (Mixed case class names causes Fatal Error in Constructor
- call). (Marcus)
-- Fixed bug #27125 (strval() doesn't work for objects with __toString()).
- (Marcus)
-- Fixed bug #27123 (Fix crash caused by bug in get_object_vars()). (Andi)
-- Fixed bug #26677 (mbstring compile errors with IRIX compiler).
- (K.Kosako <kosako at sofnec dot co dot jp>, Rui, Moriyoshi)
-- Fixed bug #26206 (register_long_arrays breaks superglobals). (Zeev)
-- Fixed bug #25724 (argv and argc not defined). (Zeev)
-
-12 Feb 2004, PHP 5 Beta 4
-- Changed exceptions so that they must now inherit from the built-in Exception
- class. This allows for a general catch(Exception $e) statement to catch all
- exceptions. (Andi, Zeev)
-- Added SPL extension. (Marcus, Derick)
-- Added checks for invalid characters in a cookie name and cookie data
- into set[raw]cookie(). (Brian)
-- Added support for ++ and += (and similar) to SimpleXML. (Andi, Zeev)
-- Added infrastructure for ++ and += (and similar) to object overloading
- modules. (Andi, Zeev)
-- Added error message when trying to re-assign to $this variable. (Zeev, Andi)
-- Added support for an interface to extend another interface. (Zeev)
-- Added new pspell functions: (Brian)
- . pspell_config_dict_dir()
- . pspell_config_data_dir()
-- Added new Interbase functions: (Ard)
- . ibase_service_attach() and ibase_service_detach().
- . ibase_backup() and ibase_restore().
- . ibase_maintain_db(), ibase_db_info() and ibase_server_info().
-- Added context option "http"/"request_fulluri" to send entire URI in request
- which is required format for some proxies. (Sara)
-- Added optional third parameter 'strict' to array_keys(). (Andrey)
-- Added stream_lock() method to userspace streams interface. (Hartmut, Wez)
-- Added xsltprocessor->registerPHPFunctions(). (Christian)
-- Readded support for using classes before they are declared according to
- the behavior in PHP 4. This won't work with classes who are using PHP 5
- features such as interfaces. (Zeev, Andi)
-- Completely overhauled SimpleXML extension. (Marcus, Rob, Sterling)
-- Upgraded bundled SQLite library to version 2.8.11. (Ilia, Wez)
-- Improved destructor implementation to always call destructors on clean
- shutdown. An order of destruction is not guaranteed. (Zeev, Andi)
-- Redesigned exception support. This fixes many bugs in the previous design
- such as nested try's and problems with overloaded extensions. (Zeev, Andi)
-- Redesigned clone by adding a clone keyword (clone $obj) and copying all
- properties before __clone() is called. Also allows calling parent __clone
- function by using parent::__clone(). (Zeev, Andi)
-- Fixed interfaces to check for function return-by-reference equality when
- inheriting and implementing interfaces. (Andi, Zeev)
-- Fixed foreach() to respect property visibility. (Marcus)
-- Fixed problem with parse error in include() file not stopping PHP's
- execution. (Ilia)
-- Fixed var_export() to show public, protected and private modifiers properly.
- (Derick)
-- Fixed problems with longlong values in mysqli. (Georg)
-- Fixed class name case preserving of user defined classes. (Marcus)
-- Fixed bug #27145 (Unmangle private/protected property names before printing
- them inside error messages). (Ilia)
-- Fixed bug #27103 (preg_split('//u') incorrectly splits UTF-8 strings into
- octets). (Moriyoshi)
-- Fixed bug #27042 (SPL: SeekableIterator seek() broken). (Marcus)
-- Fixed bug #27008 (Every class method can be called as static). (Marcus)
-- Fixed bug #26938 (exec() has problems reading long lines).
- (Ilia, runekl[at]opoint[dot]com
-- Fixed bug #26947 (ext/dom: Crash when using DomDocument::getElementById()).
- (Christian)
-- Fixed bug #26911 (crash in sqlite extension when fetching data from empty
- queries). (Ilia)
-- Fixed bug #26844 (ext/mime_magic: magic file validation broken). (Jani)
-- Fixed bug #26819 (http_build_query() crashes on NULL output). (Ilia)
-- Fixed bug #26817 (http_build_query() does not handle private & protected
- object properties correctly). (Ilia)
-- Fixed bug #26815 (foreach of (DOM) childnodes crashes when Xinclude is used).
- (Rob)
-- Fixed bug #26796 (SQLite causes crashes with other extensions *connect()
- calls). (Marcus)
-- Fixed bug #26762 (unserialize() produces lowercase classnames). (Marcus)
-- Fixed bug #26743 (getElementsByTagName doesn't work properly). (Rob)
-- Fixed bug #26736 (__autoload not invoked for parent classes). (Marcus)
-- Fixed bug #26723 (domNode::appendChild() changes child node namespace). (Rob)
-- Fixed bug #26697 (calling class_exists() on a nonexistent class in __autoload
- results in segfault). (Marcus)
-- Fixed bug #26696 (string index in a switch() crashes with multiple matches).
- (Andi)
-- Fixed bug #26695 (Reflection API does not recognize mixed-case class hints).
- (Marcus)
-- Fixed bug #26690 (make xsltProcessor->transformToUri use streams wrappers).
- (Ilia)
-- Fixed bug #26680 (Added version check in mysqli_report_index). (Georg)
-- Fixed bug #26675 (Segfault on ArrayAccess use). (Marcus)
-- Fixed bug #26640 (__autoload() not invoked by Reflection classes). (Jani)
-- Fixed bug #26543 (call_user_func() broken for self, parent). (Stanislav)
-- Fixed bug #26077 (memory leak when new() result is not assigned and no
- constructor is defined). (Stanislav)
-- Fixed bug #26065 (Crash when nesting classes). (Marcus)
-- Fixed bug #25816 (disallow arrays in class constants). (Stanislav)
-- Fixed bug #25329 (sqlite_create_function with method and reference to $this).
- (Marcus)
-- Fixed bug #25038 (call_user_func() issues a warning if function throws an
- exception). (Marcus)
-- Fixed bug #24608 (__set not triggered when overloading with array).
- (Stanislav)
-- Fixed bug #24243 (enabling browscap causes segfault). (Wez)
-
-21 Dec 2003, PHP 5 Beta 3
-- Bundled new tidy extension (John, Wez)
-- Upgraded PCRE library to version 4.5. (Andrei)
-- Dropped Windows 95 support. (Andi)
-- Moved extensions to PECL:
- . ext/crack (Jani, Derick)
- . ext/db (Jani, Derick)
- . ext/mcal (Jani, Derick)
- . ext/qtdom (Jani, Derick)
- . ext/notes (Wez)
-- Added 'c' modifier to date() which returns the date in the ISO 8601 format.
- (Derick, Manuzhai)
-- Added an optional parameter to microtime() to get the time as float. (Andrey)
-- Added MacRoman encoding support to htmlentities(). (Derick, Marcus Bointon)
-- Added possibility to call PHP functions as XSLT-functions. (Christian)
-- Added possibility to prevent PHP from registering variables when input filter
- support is used. (Derick)
-- Added iconv stream filter (convert.iconv.*). (Moriyoshi)
-- Added EXSLT support in ext/xsl. (Christian)
-- Added qdbm handler for dba extension. (mg at iceni dot pl, Marcus)
-- Added new functions:
- . dba_key_split() to split inifile keys in an array. (Marcus)
- . time_nanosleep() signal safe sleep (Magnus, Ilia)
- . headers_list(). (Sara)
- . php_strip_whitespace(). strip whitespace & comments from a script. (Ilia)
- . php_check_syntax(). check php script for parse errors. (Ilia)
- . image_type_to_extension(). return extension based on image type. (Ilia)
- . stream_socket_sendto() and stream_socket_recvfrom(). (Wez)
- . iconv_mime_decode_headers(). (Moriyoshi)
- . get_declared_interfaces(). (Andrey, Marcus)
- . sqlite_fetch_column_types(). (Ilia)
-- Added proxy support to http:// wrapper. (Sara)
-- Added rename(), rmdir() and mkdir() support to userstreams. (Sara)
-- Added rename(), rmdir() and mkdir() support to ftp:// wrapper. (Sara)
-- Changed rename(), rmdir() and mkdir() to be routed via streams API. (Sara)
-- Changed stat() and family to be routed via streams API. (Sara)
-- Fixed include_once() / require_once() on Windows to honor case-insensitivity
- of files. (Andi)
-- Fixed get_declared_classes() to return only classes. (Andrey, Marcus)
-- Fixed __autoload() to preserve case of the passed class name. (Andi)
-- Fixed bug #26615 () (runekl at opoint dot com, Derick)
-- Fixed bug #26591 ("__autoload threw an exception" during an uncaught).
- (Marcus)
-- Fixed bug #26534 (stream_get_meta_data() -> Access Violation). (Wez)
-- Fixed bug #26528 (HTML entities are not being decoded by
- xml_parse()/xml_parse_into_struct()). (Ilia)
-- Fixed bug #26182 (Object properties created redundantly). (Andi)
-- Fixed bug #26156 (REPLACE_ZVAL_VALUE works on uninit stack-based zvals).
- (Moriyoshi)
-- Fixed bug #26083 (Non-working write support in ext/dom). (Ilia)
-- Fixed bug #26072 (--disable-libxml does not work). (Jani)
-- Fixed bug #26001 (serialize crashes when accessing an overloaded object that
- has no properties (NULL hashtable)). (Wez)
-- Fixed bug #25664 (COM crashes when calling a Delphi implementations of
- ITypeInfo). (Wez)
-- Fixed bug #24837 (Incorrect behaviour of PPP using foreach). (Marcus)
-- Fixed bug #24693 (Allow session.use_trans_sid to be enabled/disabled from
- inside the script). (Ilia)
-- Fixed bug #24394 (Serializing cross-referenced objects causes segfault).
- (Moriyoshi)
-
-30 Oct 2003, PHP 5 Beta 2
-- Lots and lots of changes in the Zend Engine 2 since beta 1:
- . Added Iterators
- . Improved memory manager
- . Added Reflection API
- . Removed the not so working namespaces support
- . Removed support for expressions within constant declarations.
- . You can read about most changes in ZEND_CHANGES under the Zend directory.
-- Improved the DBX extension: (Marc)
- . Added DBX_RESULT_UNBUFFERED flag for dbx_query().
- . Added dbx_fetch_row()
- . Added SQLite support.
-- Improved the Interbase extension: (Ard Biesheuvel)
- . Added support for multiple databases into ibase_trans()
- . Added support for CREATE DATABASE, SET TRANSACTION and EXECUTE PROCEDURE
- statements into ibase_query()
- . Added ability to bind PHP arrays to native Interbase arrays
- . Added ibase_commit_ret() and ibase_rollback_ret()
- . Added ibase_drop_db()
- . Added ibase_gen_id()
- . Added ibase_name_result()
- . Added ibase_errcode()
- . Added ibase_affected_rows() and ibase_num_params()
- . Added ibase_param_info()
- . Added ibase_wait_event()
- . Added ibase_set_event_handler() and ibase_free_event_handler()
-- Added new COM extension with integrated .Net support. (Wez)
-- Added new functions:
- . setrawcookie(). (Brian)
- . pg_version(). (Marcus)
- . dbase_get_header_info(). (Zak)
- . snmp_read_mib(). (Jani)
- . http_build_query(). (Sara)
- . ftp_alloc(). (Sara)
- . array_udiff(). (Andrey)
- . array_udiff_assoc(). (Andrey)
- . array_udiff_uassoc(). (Andrey)
- . array_diff_uassoc(). (Andrey)
- . convert_uuencode(). (Ilia)
- . convert_uudecode(). (Ilia)
- . substr_compare(). (Ilia)
- . pcntl_wait(). (GeorgeS)
-- Added "resume_pos" context option to "ftp://" wrapper. (Sara)
-- Added optional parameter to OCIWriteTemporaryLob() to specify the type of LOB
- (Patch by Novicky Marek <novicky@aarongroup.cz>). (Thies)
-- Added reflection API. (Andrei, George, Timm)
-- Changed length parameter in fgetcsv() to be optional. (Moriyoshi)
-- Fixed IPv6 support in MacOSX Panther. (Dan, Marko)
-- Fixed fgetcsv() to correctly handle international (non-ascii) characters.
- (Moriyoshi)
-- Fixed support for <![CDATA[]]> fields within XML documents in ext/xml.
- (Sterling)
-- Fixed visibility of __construct and __clone. (Marcus)
-- Fixed bug #25756 (SimpleXML's validate_schema_file() broken). (Moriyoshi)
-- Fixed bug #25581 (getimagesize() returns incorrect values on bitmap (os2)
- files). (Marcus)
-- Fixed bug #25494 (array_merge*() allows non-arrays as argument). (Jay)
-- Fixed bug #24766 (strange result array from unpack()). (Moriyoshi)
-- Fixed bug #24729 ($obj = new $className; causes crash when $className is not
- set). (Marcus)
-- Fixed bug #24565 (cannot read array elements received via $_REQUEST). (Zeev)
-- Fixed bug #24445 (get_parent_class() returns different values).
- (Sterling, Stanislav)
-- Fixed bug #24403 (preg_replace() problem: Using $this when not in object
- context). (Zeev)
-- Fixed bug #24399 (PEAR DB isError crash [instanceof_function fault?]).
- (Sterling, Marcus)
-- Fixed bug #24396 (foreach ($k=>$v), the key $k is missing). (Zeev)
-- Fixed bug #24279 (__get() crash when no value is returned). (Ilia)
-- Fixed bug #22367 (undefined variable has a value). (Zeev)
-- Fixed bug #19859 (allow fast_call_user_function to support __call).
- (Stanislav)
-- Fixed bug #17997 (Warning when switch() and reference are combined). (Zeev)
-- Fixed bug #17988 (strtotime failed to parse postgresql timestamp). (Derick)
-
-29 Jun 2003, PHP 5 Beta 1
-- Removed the bundled MySQL client library. (Sterling)
-- Switched to Zend Engine 2, which includes numerous engine level improvements.
- A full list is available at http://www.php.net/zend-engine-2.php.
-- Added SQLite (http://www.hwaci.com/sw/sqlite/) extension: (Wez, Marcus, Tal)
- . Includes bundled SQLite library
- . Enabled by default
-- Completely Overhauled XML support:
- . New simplexml extension. (Sterling)
- . New DOM extension. (Rob, Chregu, Marcus)
- . New XSL extension. (Chregu, Rob)
- . Moved the old DOM-XML and XSLT extensions to PECL. (James, Sterling)
- . ext/xml can now use either libxml2 or expat to parse XML. (Sterling)
- . Removed bundled expat library. (Jani)
-- New php.ini options:
- . "session.hash_function" and "session.hash_bits_per_character". (Sascha)
- . "mail.force_extra_paramaters". (Derick)
- . "register_long_arrays". (Zeev)
-- Improved the speed of internal functions that use callbacks by 40% due to a
- new internal fast_call_user_function() function. (Sterling)
-- Improved the streams support: (Wez)
- . Improved performance of readfile(), fpassthru() and some internal streams
- operations under Win32.
- . stream_socket_client() - similar to fsockopen(), but more powerful.
- . stream_socket_server() - Creates a server socket.
- . stream_socket_accept() - Accept a client connection.
- . stream_socket_get_name() - Get local or remote name of socket.
- . stream_copy_to_stream()
- . stream_get_line() - Reads either the specified number of bytes or until
- the ending string is found. (Ilia)
- . Added context property to userspace streams object. (Sara)
- . Added generic crypto interface for streams.
- (supports dynamic loading of OpenSSL)
- . Added lightweight streaming input abstraction to the Zend Engine scanners
- to provide uniform support for include()'ing data from PHP streams across
- all platforms.
- . Added 'string.base64' stream filter. (Moriyoshi)
- . Renamed stream_register_wrapper() to stream_wrapper_register(). (Derick)
-- Improved the GD extension: (Pierre-Alain Joye, Ilia)
- . imagefilter() - Apply different filters to image.
- (Only available with bundled GD library)
- . Antialiased drawing support:
- o imageantialias() - (de)active antialias
- o imageline() and imagepolygon() antialias support
-- Changed the length parameter in fgetss() to be optional. (Moriyoshi)
-- Changed ini parser to allow for handling of quoted multi-line values. (Ilia)
-- Changed get_extension_funcs() to return list of the built-in Zend Engine
- functions if "zend" is specified as the module name. (Ilia)
-- Changed array_search() to accept also objects as a needle. (Moriyoshi)
-- Changed ext/mcrypt to require libmcrypt version 2.5.6 or greater. (Derick)
-- Changed uniqid() parameters to be optional and allow any prefix length.
- (Marcus)
-- Added new iconv functions. (Moriyoshi)
- . iconv_strlen()
- . iconv_substr()
- . iconv_strpos()
- . iconv_strrpos()
- . iconv_mime_decode()
- . iconv_mime_encode()
-- Added misc. new functions:
- . ldap_sasl_bind(). (peter_c60@hotmail.com, Jani)
- . imap_getacl(). (Dan, Holger Burbach)
- . file_put_contents(). (Sterling)
- . proc_nice() - Changes priority of the current process. (Ilia)
- . pcntl_getpriority() and pcntl_setpriority(). (Ilia)
- . idate(), date_sunrise() and date_sunset(). (Moshe Doron)
- . strpbrk() - Searches a string for a list of characters. (Ilia)
- . get_headers() - Returns headers sent by the server of the specified URL.
- (Ilia)
- . str_split() - Breaks down a string into an array of elements based on
- length. (Ilia)
- . array_walk_recursive(). (Ilia)
- . array_combine(). (Andrey)
-- Added optional parameter to get_browser() to make it return an array. (Jay)
-- Added optional parameter to openssl_sign() to specify the hashing algorithm.
- (scott@planetscott.ca, Derick)
-- Added optional parameter to sha1(), sha1_file(), md5() and md5_file() which
- makes them return the digest as binary data. (Michael Bretterklieber, Derick)
-- Added optional parameter to mkdir() to make directory creation recursive.
- (Ilia)
-- Added optional parameter to file() which makes the result array not contain
- the line endings and to skip empty lines. (Ilia)
-- Added new range() functionality:
- . Support for float modifier. (Ilia)
- . Detection of numeric values inside strings passed as high & low. (Ilia)
- . Proper handle the situations where high == low. (Ilia)
- . Added an optional step parameter. (Jon)
-- Added encoding detection feature for expat XML parser.
- (Adam Dickmeiss, Moriyoshi)
-- Added missing multibyte (unicode) support and numeric entity support to
- html_entity_decode(). (Moriyoshi)
-- Added IPv6 support to ext/sockets. (Sara)
-- Added "ftp://" wrapper support to opendir(), stat() and unlink(). (Sara)
-- Added context options 'method', 'header' and 'content' for "http://" fopen
- wrapper. (Sara)
-- Added input filter support. See README.input_filter for more info. (Rasmus)
-- Added a replace count for str_[i]replace(), see bug #8218. (Sara)
-- Fixed is_executable() to be available also on Windows. (Shane)
-- Fixed dirname() and strip_tags() to be binary-safe. (Moriyoshi)
-- Fixed bug #24098 (crash in pathinfo()). (Ilia)
-- Fixed bug #21985 and #22064 (various mb_send_mail() issues). (Moriyoshi)
-- Fixed bug #21600 (Assign by reference function call changes variable
- contents). (Zeev)
View
107 README.CVS-RULES
@@ -1,107 +0,0 @@
-This is the first file you should be reading after you get your CVS account.
-We'll assume you're basically familiar with CVS, but feel free to post
-your questions on the mailing list. Please have a look at
-http://cvsbook.red-bean.com/ for more detailed information on CVS.
-
-PHP is developed through the efforts of a large number of people.
-Collaboration is a Good Thing(tm), and CVS lets us do this. Thus, following
-some basic rules with regards to CVS usage will:
-
- a. Make everybody happier, especially those responsible for maintaining
- the CVS itself.
- b. Keep the changes consistently well documented and easily trackable.
- c. Prevent some of those 'Oops' moments.
- d. Increase the general level of good will on planet Earth.
-
-
-Having said that, here are the organizational rules:
-
- 1. Respect other people working on the project.
-
- 2. Discuss any significant changes on the list before committing.
-
- 3. Look at EXTENSIONS file to see who is the primary maintainer of
- the code you want to contribute to.
-
- 4. If you "strongly disagree" about something another person did, don't
- start fighting publicly - take it up in private email.
-
- 5. If you don't know how to do something, ask first!
-
- 6. Test your changes before committing them. We mean it. Really.
-
-
-The next few rules are more of a technical nature.
-
- 1. DO NOT TOUCH ChangeLog! It is automagically updated from the commit
- messages every day. Woe be to those who attempt to mess with it.
-
- 2. All news updates intended for public viewing, such as new features,
- bug fixes, improvements, etc., should go into the NEWS file.
-
- NB! Lines, starting with @ will go automagically into NEWS file, but
- this is NOT recommended, though. Please, add news entries directly to
- NEWS file and don't forget to keep them adjusted and sorted.
-
- 3. Do not commit multiple file and dump all messages in one commit. If you
- modified several unrelated files, commit each group separately and
- provide a nice commit message for each one. See example below.
-
- 4. Do write your commit message in such a way that it makes sense even
- without the corresponding diff. One should be able to look at it, and
- immediately know what was modified. Definitely include the function name
- in the message as shown below.
-
- 5. In your commit messages, keep each line shorter than 80 characters. And
- try to align your lines vertically, if they wrap. It looks bad otherwise.
-
- 6. If you modified a function that is callable from PHP, prepend PHP to
- the function name as shown below.
-
-
-The format of the commit messages is pretty simple.
-
-If a line begins with #, it is taken to be a comment and will not appear
-in the ChangeLog. Everything else goes into the ChangeLog.
-
-It is important to note that if your comment or news logline spans multiple
-lines, you have to put # at the beginning of _every_ such line.
-
-Example. Say you modified two files, datetime.c and string.c. In datetime.c
-you added a new format option for date() function, and in string.c you fixed
-a memory leak in php_trim(). Don't commit both of these at once. Commit them
-separately and try to make sure your commit messages look something like the
-following.
-
-For datetime.c:
-
-(PHP date) Added new 'K' format modifier for printing out number of
- days until New Year's Eve.
-
-For string.c:
-(php_trim) Fixed a memory leak resulting from improper use of zval_dtor().
-# Man, that thing was leaking all over the place!
-
-The # lines will be omitted from the ChangeLog automagically.
-
-If you fix some bugs, you should note the bug ID numbers in your
-commit message. Bug ID should be prefixed by "#" for easier access to
-bug report when developers are browsing CVS via. LXR or Bonsai.
-
-Example:
-
-Fixed pgsql notice handler double free crash bug. Bug #14016
-
-If you don't see your messages in ChangeLog right away, don't worry!
-These files are updated once a day, so your stuff will not show up until
-somewhat later.
-
-You can use LXR (http://lxr.php.net/) and Bonsai (http://bonsai.php.net/)
-to look at PHP CVS repository in various ways.
-
-To receive daily updates to ChangeLog and NEWS, send an empty message to
-php-cvs-daily-subscribe@lists.php.net.
-
-Happy hacking,
-
-PHP Team
View
39 README.EXTENSIONS
@@ -1,39 +0,0 @@
-Between PHP 4.0.6 and 4.1.0, the Zend module struct changed in a way
-that broke both source and binary compatibility. If you are
-maintaining a third party extension, here's how to update it:
-
-If this was your old module entry:
-
-zend_module_entry foo_module_entry = {
- "foo", /* extension name */
- foo_functions, /* extension function list */
- NULL, /* extension-wide startup function */
- NULL, /* extension-wide shutdown function */
- PHP_RINIT(foo), /* per-request startup function */
- PHP_RSHUTDOWN(foo), /* per-request shutdown function */
- PHP_MINFO(foo), /* information function */
- STANDARD_MODULE_PROPERTIES
-};
-
-Here's how it should look if you want your code to build with PHP
-4.1.0 and up:
-
-zend_module_entry foo_module_entry = {
-#if ZEND_MODULE_API_NO >= 20010901
- STANDARD_MODULE_HEADER,
-#endif
- "foo", /* extension name */
- foo_functions, /* extension function list */
- NULL, /* extension-wide startup function */
- NULL, /* extension-wide shutdown function */
- PHP_RINIT(foo), /* per-request startup function */
- PHP_RSHUTDOWN(foo), /* per-request shutdown function */
- PHP_MINFO(foo), /* information function */
-#if ZEND_MODULE_API_NO >= 20010901
- FOO_VERSION, /* extension version number (string) */
-#endif
- STANDARD_MODULE_PROPERTIES
-};
-
-If you don't care about source compatibility with earlier PHP releases
-than 4.1.0, you can drop the #if/#endif lines.
View
194 README.EXT_SKEL
@@ -1,194 +0,0 @@
-(NOTE: you may also want to take a look at the pear package
- PECL_Gen, a PHP-only alternative for this script that
- supports way more extension writing tasks and is
- supposed to replace ext_skel completely in the long run ...)
-
-WHAT IT IS
-
- It's a tool for automatically creating the basic framework for a PHP module
- and writing C code handling arguments passed to your functions from a simple
- configuration file. See an example at the end of this file.
-
-HOW TO USE IT
-
- Very simple. First, change to the ext/ directory of the PHP 4 sources. If
- you just need the basic framework and will be writing all the code in your
- functions yourself, you can now do
-
- ./ext_skel --extname=module_name
-
- and everything you need is placed in directory module_name.
-
- [ Note that GNU awk is likely required for this script to work. Debian
- systems seem to default to using mawk, so you may need to change the
- #! line in skeleton/create_stubs and the cat $proto | awk line in
- ext_skel to use gawk explicitly. ]
-
- If you don't need to test the existence of any external header files,
- libraries or functions in them, the module is already almost ready to be
- compiled in PHP. Just remove 3 comments in your_module_name/config.m4,
- change back up to PHP sources top directory, and do
-
- ./buildconf; ./configure --enable-module_name; make
-
- But if you already have planned the overall scheme of your module, what
- functions it will contain, their return types and the arguments they take
- (a very good idea) and don't want to bother yourself with creating function
- definitions and handling arguments passed yourself, it's time to create a
- function definitions file, which you will give as an argument to ext_skel
- with option
-
- --proto=filename.
-
-FORMAT OF FUNCTION DEFINITIONS FILE
-
- All the definitions must be on one line. In it's simplest form, it's just
- the function name, e.g.
-
- my_function
-
- but then you'll be left with an almost empty function body without any
- argument handling.
-
- Arguments are given in parenthesis after the function name, and are of
- the form 'argument_type argument_name'. Arguments are separated from each
- other with a comma and optional space. Argument_type can be one of int,
- bool, double, float, string, array, object or mixed.
-
- An optional argument is separated from the previous by an optional space,
- then '[' and of course comma and optional space, like all the other
- arguments. You should close a row of optional arguments with same amount of
- ']'s as there where '['s. Currently, it does not harm if you forget to do it
- or there is a wrong amount of ']'s, but this may change in the future.
-
- An additional short description may be added after the parameters.
- If present it will be filled into the 'proto' header comments in the stubs
- code and the <refpurpose> tag in the XML documentation.
-
- An example:
-
- my_function(int arg1, int arg2 [, int arg3 [, int arg4]]) this is my 1st
-
- Arguments arg3 and arg4 are optional.
-
- If possible, the function definition should also contain it's return type
- in front of the definition. It's not actually used for any C code generating
- purposes but PHP in-source documentation instead, and as such, very useful.
- It can be any of int, double, string, bool, array, object, resource, mixed
- or void.
-
- The file must contain nothing else but function definitions, no comments or
- empty lines.
-
-OTHER OPTIONS
-
- --no-help
-
- By default, ext_skel creates both comments in the source code and a test
- function to help first time module writers to get started and testing
- configuring and compiling their module. This option turns off all such things
- which may just annoy experienced PHP module coders. Especially useful with
-
- --stubs=file
-
- which will leave out also all module specific stuff and write just function
- stubs with function value declarations and passed argument handling, and
- function entries and definitions at the end of the file, for copying and
- pasting into an already existing module.
-
- --assign-params
- --string-lens
-
- By default, function proto 'void foo(string bar)' creates the following:
- ...
- zval **bar;
- ... (zend_get_parameters_ex() called in the middle...)
- convert_to_string_ex(bar);
-
- Specifying both of these options changes the generated code to:
- ...
- zval **bar_arg;
- int bar_len;
- char *bar = NULL;
- ... (zend_get_parameters_ex() called in the middle...)
- convert_to_string_ex(bar_arg);
- bar = Z_STRVAL_PP(bar_arg);
- bar_len = Z_STRLEN_PP(bar_arg);
-
- You shouldn't have to ask what happens if you leave --string-lens out. If you
- have to, it's questionable whether you should be reading this document.
-
- --with-xml[=file]
-
- Creates the basics for phpdoc .xml file.
-
- --full-xml
-
- Not implemented yet. When or if there will ever be created a framework for
- self-contained extensions to use phpdoc system for their documentation, this
- option enables it on the created xml file.
-
-CURRENT LIMITATIONS, BUGS AND OTHER ODDITIES
-
- Only arguments of types int, bool, double, float, string and array are
- handled. For other types you must write the code yourself. And for type
- mixed, it wouldn't even be possible to write anything, because only you
- know what to expect.
-
- It can't handle correctly, and probably never will, variable list of
- of arguments. (void foo(int bar [, ...])
-
- Don't trust the generated code too much. It tries to be useful in most of
- the situations you might encounter, but automatic code generation will never
- beat a programmer who knows the real situation at hand. ext_skel is generally
- best suited for quickly generating a wrapper for c-library functions you
- might want to have available in PHP too.
-
- This program doesn't have a --help option. It has --no-help instead.
-
-EXAMPLE
-
- The following _one_ line
-
- bool my_drawtext(resource image, string text, resource font, int x, int y [, int color])
-
- will create this function definition for you (note that there are a few
- question marks to be replaced by you, and you must of course add your own
- value definitions too):
-
-/* {{{ proto bool my_drawtext(resource image, string text, resource font, int x, int y[, int color])
- */
-PHP_FUNCTION(my_drawtext)
-{
- zval **image, **text, **font, **x, **y, **color;
- int argc;
- int image_id = -1;
- int font_id = -1;
-
- argc = ZEND_NUM_ARGS();
- if (argc < 5 || argc > 6 || zend_get_parameters_ex(argc, &image, &text, &font, &x, &y, &color) == FAILURE) {
- WRONG_PARAM_COUNT;
- }
-
- ZEND_FETCH_RESOURCE(???, ???, image, image_id, "???", ???_rsrc_id);
- ZEND_FETCH_RESOURCE(???, ???, font, font_id, "???", ???_rsrc_id);
-
- switch (argc) {
- case 6:
- convert_to_long_ex(color);
- /* Fall-through. */
- case 5:
- convert_to_long_ex(y);
- convert_to_long_ex(x);
- /* font: fetching resources already handled. */
- convert_to_string_ex(text);
- /* image: fetching resources already handled. */
- break;
- default:
- WRONG_PARAM_COUNT;
- }
-
- php_error(E_WARNING, "my_drawtext: not yet implemented");
-}
-/* }}} */
-
View
127 README.PARAMETER_PARSING_API
@@ -1,127 +0,0 @@
-New parameter parsing functions
-===============================
-
-It should be easier to parse input parameters to an extension function.
-Hence, borrowing from Python's example, there are now a set of functions
-that given the string of type specifiers, can parse the input parameters
-and store the results in the user specified variables. This avoids most
-of the IS_* checks and convert_to_* conversions. The functions also
-check for the appropriate number of parameters, and try to output
-meaningful error messages.
-
-
-Prototypes
-----------
-/* Implemented. */
-int zend_parse_parameters(int num_args TSRMLS_DC, char *type_spec, ...);
-int zend_parse_parameters_ex(int flags, int num_args TSRMLS_DC, char *type_spec, ...);
-
-The zend_parse_parameters() function takes the number of parameters
-passed to the extension function, the type specifier string, and the
-list of pointers to variables to store the results in. The _ex() version
-also takes 'flags' argument -- current only ZEND_PARSE_PARAMS_QUIET can
-be used as 'flags' to specify that the function should operate quietly
-and not output any error messages.
-
-Both functions return SUCCESS or FAILURE depending on the result.
-
-The auto-conversions are performed as necessary. Arrays, objects, and
-resources cannot be auto-converted.
-
-
-Type specifiers
----------------
- l - long
- d - double
- s - string (with possible null bytes) and its length
- b - boolean, stored in zend_bool
- r - resource (stored in zval)
- a - array
- o - object (of any type)
- O - object (of specific type, specified by class entry)
- z - the actual zval
-
- The following characters also have a meaning in the specifier string:
- | - indicates that the remaining parameters are optional, they
- should be initialized to default values by the extension since they
- will not be touched by the parsing function if they are not
- passed to it.
- / - use SEPARATE_ZVAL_IF_NOT_REF() on the parameter it follows
- ! - the parameter it follows can be of specified type or NULL (only applies
- to 'a', 'o', 'O', 'r', and 'z'). If NULL is passed, the results
- pointer is set to NULL as well.
-
-Examples
---------
-/* Gets a long, a string and its length, and a zval */
-long l;
-char *s;
-int s_len;
-zval *param;
-if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "lsz",
- &l, &s, &s_len, &param) == FAILURE) {
- return;
-}
-
-
-/* Gets an object of class specified by my_ce, and an optional double. */
-zval *obj;
-double d = 0.5;
-zend_class_entry my_ce;
-if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "O|d",
- &obj, my_ce, &d) == FAILURE) {
- return;
-}
-
-
-/* Gets an object or null, and an array.
- If null is passed for object, obj will be set to NULL. */
-zval *obj;
-zval *arr;
-if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "o!a",
- &obj, &arr) == FAILURE) {
- return;
-}
-
-
-/* Gets a separated array which can also be null. */
-zval *arr;
-if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "a/!",
- &arr) == FAILURE) {
- return;
-}
-
-
-/* Get only the first three parameters (useful for varargs functions). */
-zval *z;
-zend_bool b;
-zval *r;
-if (zend_parse_parameters(3 TSRMLS_CC, "zbr!",
- &z, &b, &r) == FAILURE) {
- return;
-}
-
-
-/* Get either a set of 3 longs or a string. */
-long l1, l2, l3;
-char *s;
-/*
- * The function expects a pointer to a integer in this case, not a long
- * or any other type. If you specify a type which is larger
- * than a 'int', the upper bits might not be initialized
- * properly, leading to random crashes on platforms like
- * Tru64 or Linux/Alpha.
- */
-int length;
-
-if (zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS() TSRMLS_CC,
- "lll", &l1, &l2, &l3) == SUCCESS) {
- /* manipulate longs */
-} else if (zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS() TSRMLS_CC,
- "s", &s, &length) == SUCCESS) {
- /* manipulate string */
-} else {
- /* output error */
-
- return;
-}
View
155 README.PHP4-TO-PHP5-THIN-CHANGES
@@ -1,155 +0,0 @@
-1. strrpos() and strripos() now use the entire string as a needle. Be aware
- that the existing scripts may no longer work as you expect.
-
- EX :
- <?php
- var_dump(strrpos("ABCDEF","DEF"));
- var_dump(strrpos("ABCDEF","DAF"));
- ?>
-
- Will give you different results. The former returns 3 while the latter
- returns false rather than the position of the last occurrence of 'D'.
- The same applies to strripos().
-
-2. Illegal use of string offsets causes E_ERROR instead of E_WARNING.
-
- EX :
- <?php
- $a = "foo";
- unset($a[0][1][2]);
- ?>
-
- Fatal error: Cannot use string offset as an array in ... on line 1
-
-3. array_merge() was changed to accept only arrays. If a non-array variable is
- passed, a E_WARNING will be thrown for every such parameter. Be careful
- because your code may start emitting E_WARNING out of the blue.
-
-4. Be careful when porting from ext/mysql to ext/mysqli. The following
- functions return NULL when no more data is available in the result set
- (ext/mysql's functions return FALSE).
-
- - mysqli_fetch_row()
- - mysqli_fetch_array()
- - mysqli_fetch_assoc()
-
-5. PATH_TRANSLATED server variable is no longer set implicitly under
- Apache2 SAPI in contrast to the situation in PHP 4, where it is set to the
- same value as the SCRIPT_FILENAME server variable when it is not populated
- by Apache. This change was made to comply with the CGI specification.
- Please refer to bug #23610 for further information.
-
-6. Starting PHP 5.0.0 the T_ML_CONSTANT constant is no longer defined by the
- ext/tokenizer extension. If error_reporting is set to E_ALL notices will
- be produced. Instead of T_ML_CONSTANT for /* */ the T_COMMENT constant
- is used, thus both // and /* */ are resolved as the T_COMMENT constant.
- However the PHPDoc style comments /** */ ,which starting PHP 5 are parsed
- by PHP, are recongnized as T_DOC_COMMENT.
-
-7. $_SERVER should be populated with argc and argv if variables_order
- includes "S". If you have specifically configured your system to not
- create $_SERVER, then of course it shouldn't be there. The change was to
- always make argc and argv available in the CLI version regardless of the
- variables_order setting. As in, the CLI version will now always populate
- the global $argc and $argv variables.
-
-8. In some cases classes must be declared before used. It only happens only
- if some of the new features of PHP 5 are used. Otherwise the behaviour is
- the old.
- Example 1 (works with no errors):
- <?php
- $a = new a();
- class a {
- }
- ?>
-
- Example 2 (throws an error):
- <?php
- $a = new a();
- interface b{
- }
- class a implements b {
- }
- ?>
-
- Output (example 2) :
- Fatal error: Class 'a' not found in /tmp/cl.php on line 2
-
-9. get_class() starting PHP 5 returns the name of the class as it was
- declared which may lead to problems in older scripts that rely on
- the previous behaviour - the class name is lowercased. Expect the
- same behaviou