Browse files

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

  • Loading branch information...
1 parent f811341 commit b35a47887225d5eb0c607327cd013e9f56e862d1 SVN Migration committed Oct 20, 2003
Showing with 0 additions and 57,306 deletions.
  1. +0 −348 .gdbinit
  2. +0 −268 CODING_STANDARDS
  3. +0 −2 CREDITS
  4. +0 −23,703 ChangeLog
  5. BIN ChangeLog.1999.gz
  6. BIN ChangeLog.2000.gz
  7. BIN ChangeLog.2001.gz
  8. BIN ChangeLog.2002.gz
  9. +0 −535 EXTENSIONS
  10. +0 −422 INSTALL
  11. +0 −68 LICENSE
  12. +0 −23 Makefile.frag
  13. +0 −76 Makefile.global
  14. +0 −167 NEWS
  15. +0 −115 README.CVS-RULES
  16. +0 −39 README.EXTENSIONS
  17. +0 −194 README.EXT_SKEL
  18. +0 −127 README.PARAMETER_PARSING_API
  19. +0 −57 README.QNX
  20. +0 −155 README.SELF-CONTAINED-EXTENSIONS
  21. +0 −379 README.STREAMS
  22. +0 −126 README.SUBMITTING_PATCH
  23. +0 −170 README.TESTING
  24. +0 −137 README.TESTING2
  25. +0 −123 README.UNIX-BUILD-SYSTEM
  26. +0 −112 README.Zeus
  27. +0 −188 README.input_filter
  28. +0 −159 TODO
  29. +0 −211 TODO-PHP5
  30. +0 −3 TODO.BUILDv5
  31. +0 −26 TSRM/LICENSE
  32. +0 −6 TSRM/Makefile.am
  33. +0 −2 TSRM/TODO
  34. +0 −667 TSRM/TSRM.c
  35. +0 −186 TSRM/TSRM.dsp
  36. +0 −176 TSRM/TSRM.h
  37. +0 −1 TSRM/acconfig.h
  38. +0 −5 TSRM/acinclude.m4
  39. +0 −43 TSRM/build.mk
  40. +0 −33 TSRM/buildconf
  41. +0 −31 TSRM/configure.in
  42. +0 −44 TSRM/readdir.h
  43. +0 −165 TSRM/threads.m4
  44. +0 −129 TSRM/tsrm.m4
  45. +0 −11 TSRM/tsrm_config.nw.h
  46. +0 −20 TSRM/tsrm_config.w32.h
  47. +0 −60 TSRM/tsrm_config_common.h
  48. +0 −240 TSRM/tsrm_nw.c
  49. +0 −29 TSRM/tsrm_nw.h
  50. +0 −63 TSRM/tsrm_strtok_r.c
  51. +0 −6 TSRM/tsrm_strtok_r.h
  52. +0 −859 TSRM/tsrm_virtual_cwd.c
  53. +0 −293 TSRM/tsrm_virtual_cwd.h
  54. +0 −386 TSRM/tsrm_win32.c
  55. +0 −106 TSRM/tsrm_win32.h
  56. +0 −14,511 Zend/ChangeLog
  57. +0 −186 Zend/FlexLexer.h
  58. +0 −56 Zend/LICENSE
  59. +0 −52 Zend/Makefile.am
  60. +0 −195 Zend/OBJECTS2_HOWTO
  61. +0 −136 Zend/RFCs/001.txt
  62. +0 −169 Zend/RFCs/002.txt
  63. +0 −72 Zend/RFCs/003.txt
  64. +0 −107 Zend/RFCs/004.txt
  65. +0 −855 Zend/ZEND_CHANGES
  66. +0 −594 Zend/Zend.dsp
  67. +0 −250 Zend/Zend.m4
  68. +0 −258 Zend/ZendCore.dep
  69. +0 −719 Zend/ZendTS.dsp
  70. +0 −105 Zend/acconfig.h
  71. +0 −47 Zend/acinclude.m4
  72. +0 −43 Zend/build.mk
  73. +0 −33 Zend/buildconf
  74. +0 −47 Zend/configure.in
  75. +0 −1,648 Zend/flex.skl
  76. +0 −22 Zend/tests/bug19859.phpt
  77. +0 −43 Zend/tests/bug20240.phpt
  78. +0 −26 Zend/tests/bug20242.phpt
  79. +0 −37 Zend/tests/bug21478.phpt
  80. +0 −39 Zend/tests/bug21888.phpt
  81. +0 −31 Zend/tests/bug22725.phpt
  82. +0 −24 Zend/tests/bug22836.phpt
  83. +0 −12 Zend/tests/bug23104.phpt
  84. +0 −24 Zend/tests/bug24436.phpt
  85. +0 −30 Zend/tests/bug24635.phpt
  86. +0 −13 Zend/tests/bug24699.phpt
  87. +0 −28 Zend/tests/bug24884.phpt
  88. +0 −34 Zend/tests/dtor_scope.phpt
  89. +0 −275 Zend/tests/zend2.php.txt
  90. +0 −1,111 Zend/zend.c
  91. +0 −628 Zend/zend.h
  92. BIN Zend/zend.ico
  93. +0 −1,870 Zend/zend_API.c
  94. +0 −509 Zend/zend_API.h
  95. +0 −793 Zend/zend_alloc.c
  96. +0 −153 Zend/zend_alloc.h
  97. +0 −27 Zend/zend_arg_defs.c
Sorry, we could not display the entire diff because too many files (2,878) changed.
View
348 .gdbinit
@@ -1,348 +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 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
268 CODING_STANDARDS
@@ -1,268 +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.tuxedo.org/~esr/jargon/html/entry/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.
-
-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
23,703 ChangeLog
0 additions, 23,703 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
535 EXTENSIONS
@@ -1,535 +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: activescript
-PRIMARY MAINTAINER: Wez Furlong <wez@php.net>
-MAINTENANCE: Odd Fixes
-STATUS: Experimental
--------------------------------------------------------------------------------
-EXTENSION: apache
-PRIMARY MAINTAINER: Rasmus Lerdorf <rasmus@php.net>
-MAINTENANCE: Maintained
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: apache2
-PRIMARY MAINTAINER: Aaron Bannert <aaron@php.net>
-MAINTENANCE: Maintained
-STATUS: Experimental
--------------------------------------------------------------------------------
-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: fhttpd
-MAINTENANCE: Unknown
-STATUS: Unknown
--------------------------------------------------------------------------------
-EXTENSION: isapi
-MAINTENANCE: Unknown
-STATUS: Working
--------------------------------------------------------------------------------
-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: servlet
-PRIMARY MAINTAINER: Sam Ruby <rubys@us.ibm.com>
-MAINTENANCE: Maintained
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: thttpd
-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
-PRIMARY MAINTAINER: Jim Winstead <jimw@php.net>
-MAINTENANCE: Odd Fixes
-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: filepro
-MAINTENANCE: Unknown
-STATUS: Unknown
--------------------------------------------------------------------------------
-EXTENSION: hyperwave
-PRIMARY MAINTAINER: Uwe Steinmann <steinm@php.net>
-MAINTENANCE: Maintained
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: informix
-PRIMARY MAINTAINER: Danny Heijl <Danny.Heijl@cevi.be>
-MAINTENANCE: Maintained
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: ingres_ii
-PRIMARY MAINTAINER: David H�not <henot@php.net>
-MAINTENANCE: Maintained
-STATUS: Experimental
-SINCE: 4.0.2
--------------------------------------------------------------------------------
-EXTENSION: interbase
-PRIMARY MAINTAINER: Ard Biesheuvel <ard@ard.nu>, Jouni Ahto <jouni.ahto@exdec.fi>
-MAINTENANCE: Maintained
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: msql
-MAINTENANCE: Unknown
-STATUS: Working
--------------------------------------------------------------------------------
-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: 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: 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
--------------------------------------------------------------------------------
-EXTENSION: oci8
-PRIMARY MAINTAINER: Thies C. Arntzen <thies@thieso.net>
-MAINTENANCE: Maintained
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: odbc
-PRIMARY MAINTAINER: Daniel R. Kalowsky <kalowsky@php.net>
-MAINTENANCE: Maintained
-STATUS: Working
-COMMENT: Working
--------------------------------------------------------------------------------
-EXTENSION: oracle
-PRIMARY MAINTAINER: Thies C. Arntzen <thies@thieso.net>
-MAINTENANCE: Maintained
-STATUS: Working
-COMMENT: Using the new OCI8 driver is encouraged where possible.
--------------------------------------------------------------------------------
-
-
-== XML extensions ==
-
--------------------------------------------------------------------------------
-EXTENSION: dom
-PRIMARY MAINTAINER: Christian Stocker <chregu@php.net>, Rob Richards <rrichards@php.net>, Marcus Boerger <helly@php.net>
-MAINTENANCE: Maintained
-STATUS: Experimental
-SINCE: 5.0
--------------------------------------------------------------------------------
-EXTENSION: simplexml
-PRIMARY MAINTAINER: Sterling Hughes <sterling@php.net>
-MAINTENANCE: Maintained
-STATUS: Experimental
-SINCE: 5.0
--------------------------------------------------------------------------------
-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: Experimental
-SINCE: 5.0
--------------------------------------------------------------------------------
-
-
-== Other extensions ==
-
--------------------------------------------------------------------------------
-EXTENSION: aspell
-MAINTENANCE: Unknown
-STATUS: Working
-COMMENT: For aspell .27 and greater, check out the pspell extension
--------------------------------------------------------------------------------
-EXTENSION: bcmath
-MAINTENANCE: Unknown
-STATUS: Unknown
--------------------------------------------------------------------------------
-EXTENSION: bz2
-PRIMARY MAINTAINER: Hartmut Holzgraefe <hholzgra@php.net>
-MAINTENANCE: Odd Fixes
-STATUS: Working
-SINCE: 4.0.3
--------------------------------------------------------------------------------
-EXTENSION: dio
-PRIMARY MAINTAINER: Sterling Hughes <sterling@php.net>
-MAINTENANCE: Orphaned
-STATUS: Working
-SINCE: 4.0.6
--------------------------------------------------------------------------------
-EXTENSION: cyrus
-PRIMARY MAINTAINER: Sterling Hughes <sterling@php.net>
-MAINTENANCE: Orphaned
-STATUS: Working
-SINCE: 4.0.6
--------------------------------------------------------------------------------
-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: crack
-MAINTENANCE: Unknown
-STATUS: Experimental
-SINCE: 4.0.5
--------------------------------------------------------------------------------
-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: cybercash
-PRIMARY MAINTAINER: Evan Klinger <evan715@sirius.com>
-MAINTENANCE: Maintained
-STATUS: Unknown
--------------------------------------------------------------------------------
-EXTENSION: dotnet
-PRIMARY MAINTAINER: Sam Ruby <rubys@us.ibm.com>
-MAINTENANCE: Maintained
-STATUS: Experimental
--------------------------------------------------------------------------------
-EXTENSION: exif
-PRIMARY MAINTAINER: Marcus Boerger <helly@php.net>
-MAINTENANCE: Maintained
-STATUS: Working
-SINCE: 4.2
--------------------------------------------------------------------------------
-EXTENSION: fdf
-PRIMARY MAINTAINER: Uwe Steinmann <steinm@php.net>
-MAINTENANCE: Maintained
-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: icap
-MAINTENANCE: Unknown
-STATUS: Obsolete
--------------------------------------------------------------------------------
-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: java
-PRIMARY MAINTAINER: Sam Ruby <rubys@us.ibm.com>
-MAINTENANCE: Maintained
-STATUS: Working
--------------------------------------------------------------------------------
-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: mcal
-PRIMARY MAINTAINER: Chuck Hagenbuch <chuck@horde.org>
-MAINTENANCE: Odd Fixes
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: mcrypt
-PRIMARY MAINTAINER: Derick Rethans <derick@derickrethans.nl>
-MAINTENANCE: Maintained
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: mhash
-PRIMARY MAINTAINER: Sascha Schumann <sascha@schumann.cx>
-MAINTENANCE: Maintained
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: muscat
-PRIMARY MAINTAINER: Sam Liddicott <sam@ananova.com>
-MAINTENANCE: Maintained
-STATUS: Working
-SINCE: 4.0.5
-COMMENT: Not tested against windows, only core API completed, rest under development
--------------------------------------------------------------------------------
-EXTENSION: openssl
-PRIMARY MAINTAINER: Wez Furlong <wez@php.net>
-MAINTENANCE: Maintained
-STATUS: Experimental
-SINCE: 4.0.4
--------------------------------------------------------------------------------
-EXTENSION: overload
-PRIMARY MAINTAINER: Andrei Zmievski <andrei@php.net>
-MAINTENANCE: Maintained
-STATUS: Experimental
--------------------------------------------------------------------------------
-EXTENSION: pcre
-PRIMARY MAINTAINER: Andrei Zmievski <andrei@php.net>
-MAINTENANCE: Maintained
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: pdf
-PRIMARY MAINTAINER: Uwe Steinmann <steinm@php.net>
-MAINTENANCE: Maintained
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: pfpro
-PRIMARY MAINTAINER: David Croft <david@infotrek.co.uk>
-MAINTENANCE: Maintained
-STATUS: Working
-SINCE: 4.0.2
--------------------------------------------------------------------------------
-EXTENSION: posix
-PRIMARY MAINTAINER: Kristian K�hntopp <kris@koehntopp.de>
-MAINTENANCE: Maintained
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: printer
-PRIMARY MAINTAINER: Daniel Beulshausen <daniel@php4win.de>
-MAINTENANCE: Maintained
-STATUS: Working
-SINCE: 4.0.4
-COMMENT: Only for Win32
--------------------------------------------------------------------------------
-EXTENSION: pspell
-PRIMARY MAINTAINER: Vlad Krupin <phpdevel@echospace.com>
-MAINTENANCE: Unknown
-STATUS: Unknown
-SINCE: 4.0.2
--------------------------------------------------------------------------------
-EXTENSION: qtdom
-MAINTENANCE: Unknown
-STATUS: Experimental
-SINCE: 4.0.4
--------------------------------------------------------------------------------
-EXTENSION: readline
-MAINTENANCE: Unknown
-STATUS: Unknown
--------------------------------------------------------------------------------
-EXTENSION: recode
-PRIMARY MAINTAINER: Kristian K�hntopp <kris@koehntopp.de>
-MAINTENANCE: Maintained
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: sablot
-PRIMARY MAINTAINER: Sterling Hughes <sterling@php.net>
-MAINTENANCE: Obsolete
-STATUS: Experimental
-SINCE: 4.0.3
--------------------------------------------------------------------------------
-EXTENSION: satellite
-PRIMARY MAINTAINER: David Eriksson <eriksson@php.net>
-MAINTENANCE: Odd Fixes
-STATUS: Experimental
-SINCE: 4.0.3
--------------------------------------------------------------------------------
-EXTENSION: session
-PRIMARY MAINTAINER: Sascha Schumann <sascha@schumann.cx>
-MAINTENANCE: Maintained
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: shmop
-PRIMARY MAINTAINER: 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: swf
-PRIMARY MAINTAINER: Sterling Hughes <sterling@php.net>
-MAINTENANCE: Orphaned
-STATUS: Deprecated (Use the ming swf extension instead)
-COMMENT: Only for Unix (won't change)
--------------------------------------------------------------------------------
-EXTENSION: sysvsem
-MAINTENANCE: Unknown
-STATUS: Unknown
--------------------------------------------------------------------------------
-EXTENSION: sysvshm
-MAINTENANCE: Unknown
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: vpopmail
-MAINTENANCE: Unknown
-STATUS: Experimental
-SINCE: 4.0.5
--------------------------------------------------------------------------------
-EXTENSION: yaz
-PRIMARY MAINTAINER: Adam Dickmeiss <adam@indexdata.dk>
-MAINTENANCE: Maintained
-STATUS: Unknown
-SINCE: 4.0.1
--------------------------------------------------------------------------------
-EXTENSION: yp
-MAINTENANCE: Unknown
-STATUS: Unknown
--------------------------------------------------------------------------------
-EXTENSION: zlib
-PRIMARY MAINTAINER: Stefan Roehrich <sr@linux.de>
-MAINTENANCE: Maintained
-STATUS: Working
--------------------------------------------------------------------------------
-EXTENSION: zziplib
-PRIMARY MAINTAINER: Hartmut Holzgraefe <hholzgra@php.net>
-MAINTENANCE: Odd Fixes
-STATUS: Working
-SINCE: 4.0.5
--------------------------------------------------------------------------------
View
422 INSTALL
@@ -1,422 +0,0 @@
-Installation Instructions for PHP 5
------------------------------------
-
-STOP!
-
-Before going any further, please remember you are going to find more
-up to date instructions in the online manual, located here:
-
-http://www.php.net/manual/en/install.apache.php
-
-For Apache 2, instructions and up-to-date information regarding it's
-support status, is available here:
-
-http://www.php.net/manual/en/install.apache2.php
-
-It is strongly recommended that you read the manual page before going
-further. However, for the impatient, here is a quick set of steps that
-will build PHP as (first) a dynamic Apache module (DSO) for Apache 1.3.x
-with MySQL support and then a static module. A more verbose explanation follows.
-
-For installing PHP on other web servers, refer to one of the following
-files:
-
- sapi/aolserver/README
- sapi/pi3web/README
- sapi/servlet/README
- sapi/thttpd/README
- README.Zeus
-
-Some notes:
-
-1: Only install either the static module or the dynamic one. Do not
- install both.
-
-2: If you are recompiling PHP to add new extensions or upgrading
- something like GD, remove the config.cache file before you re-run
- configure.
-
-3: If you are on Linux and have installed shared libraries, make
- sure the location of these shared libraries are listed in your
- /etc/ld.so.conf file. For example, if you have:
-
- /usr/local/lib/mysql/libmysqlclient.so
-
- Make sure /etc/ld.so.conf contains:
-
- /usr/local/lib/mysql
-
- Then run ldconfig.
-
-If you want both PHP 3 and 4 modules in the same Apache server, check the
-bottom of this file for instructions.
-
-INSTALLATION WITH THE ZEUS WEB SERVER:
---Please see the 'README.Zeus' file included in this distribution
-
-
-QUICK INSTALL (DSO)
-
-For this to work your Apache httpd must have mod_so enabled.
-Check using httpd -l. You should see something like:
-
-Compiled-in modules:
- http_core.c
- mod_so.c
-
-Chances are you will see a lot more modules than these two. That's ok,
-as long as mod_so.c shows up you can proceed with the following steps:
-
-$ gunzip -c php-4.x.y.tar.gz | tar xf -
-$ cd php-4.x.y
-$ ./configure --with-mysql --with-apxs
-$ make
-$ make install
-
-If you get an error telling you that the apxs script could not be found,
-look for it on your system and if you find it, provide the full path to it
-as: --with-apxs=/path/to/apxs
-
-Make sure you specify the version of apxs that is actually installed on
-your system and NOT the one that is in the apache source tarball.
-
-Next you must copy php.ini-dist to the appropriate place (normally
-/usr/local/lib/php.ini) and edit it as necessary to set PHP options.
-
-The only thing left to do is to edit your httpd.conf file and make sure the
-PHP 4 mime type is there and uncommented. You need a line that looks like
-this:
-
- AddType application/x-httpd-php .php
-
-Then restart your server (apachectl restart) and you should be able to
-serve up PHP files now. Make a test file called test.php and put some
-PHP tags in it. Like <?phpinfo()?>, for example.
-
-
-QUICK INSTALL (Static)
-
-$ gunzip -c apache_1.3.x.tar.gz | tar xf -
-$ cd apache_1.3.x
-$ ./configure
-$ cd ..
-
-$ gunzip -c php-4.x.y.tar.gz | tar xf -
-$ cd php-4.x.y
-$ ./configure --with-mysql --with-apache=../apache_1.3.x
-$ make
-$ make install
-
-$ cd ../apache_1.3.x
-$ ./configure --prefix=/www --activate-module=src/modules/php5/libphp5.a
- (The above line is correct! Yes, we know libphp5.a does not exist at this
- stage. It isn't supposed to. It will be created.)
-$ make
- (you should now have an httpd binary which you can copy to your Apache bin dir if
- is is your first install then you need to "make install" as well)
-$ cd ../php-4.x.y
-$ cp php.ini-dist /usr/local/lib/php.ini
-You can edit /usr/local/lib/php.ini file to set PHP options.
-Edit your httpd.conf or srm.conf file and add:
- AddType application/x-httpd-php .php
-
-
-VERBOSE INSTALL
-
-Chances are you are reading this because the quick install steps above
-did not work for you. If this is the case, congratulations, you are
-among the elite few that actually reads documentation. It really is
-not a difficult install and once you have done it once you will fly
-through it.
-
-Installing PHP can be done in four simple steps:
-
-1. Unpack your distribution file.
-
- You will have downloaded a file named something like php-4.x.y.tar.gz.
- Unzip this file with a command like: gunzip php-4.x.y.tar.gz
-
- Next you have to untar it with: tar -xvf php-4.x.y.tar
-
- This will create a php-4.x.y directory. cd into this new directory.
-
-2a. Configure PHP (Dynamic Module) - Skip to 2b if you wish to build
- a static module
-
- You now have to choose the options you would like. There are quite
- a few of them. To see a list, type: ./configure --help
-
- The only options that you are likely to want to use are the ones in
- the last section entitled, "--enable and --with options recognized:"
-
- A popular choice is to build the Apache module version. In order to
- build PHP as a dynamic module for Apache-1.3.x you have to first have
- Apache installed. Assuming Apache is already installed, make sure
- the shared object module is enabled. To check this, type: httpd -l
- You should see something like:
-
- Compiled-in modules:
- http_core.c
- mod_so.c
-
- You will most likely have a lot more modules than what is shown here.
- As long as mod_so.c shows up in the list, PHP should be happy.
-
- Now, type: ./configure --with-mysql --with-apxs
-
- If you get an error telling you that the apxs script could not be found,
- look for it on your system and if you find it, provide the full path to it
- as: --with-apxs=/path/to/apxs
-
- Make sure you specify the version of apxs that is actually installed on
- your system and NOT the one that is in the apache source tarball.
-
- You might also want other flags on this configure line. --with-mysql
- is just an example.
-
- There are a few things that can go wrong during this configure step.
- The most common is that you have asked for an option and that the
- configure script can not find the files required to enable this
- option in PHP. Chances are you can provide the full path to the
- base directory under which the related files were installed. For
- example, if you have installed the GD library in /opt/gd which means
- that /opt/gd/include has your GD header files and /opt/gd/lib contains
- your GD library files, you would use --with-gd=/opt/gd
-
- Skip to step 3 for compilation and installation instructions.
-
-2b. Configure PHP (Static Module) - Skip if you performed 2a
-
- You now have to choose the options you would like. There are quite
- a few of them. To see a list, type: ./configure --help
-
- The only options that you are likely to want to use are the ones in
- the last section entitled, "--enable and --with options recognized:"
-
- A popular choice is to build the Apache module version. You need
- to know where the source code directory for your Apache server is
- located. Then use an option like: --with-apache=/usr/local/src/apache
- if that is your Apache source code directory. If you only specify
- --with-apache, then it will default to look for your Apache source
- in /usr/local/etc/httpd.
-
- NOTE: The directory you specify should be the top-level of the
- unpacked Apache (or Stronghold) distribution. The configure program
- will automatically look for httpd.h in different directories under that
- location depending on which version of Apache, including Stronghold,
- you are running.
-
- For MySQL support, since newer versions of MySQL installs its various
- components under /usr/local, this is the default. If you have
- changed the location you can specify it with: --with-mysql=/opt/local
- for example. Otherwise just use: --with-mysql
-
- *NOTE* If you are using Apache 1.3b6 or later, you should run the
- Apache Configure script at least once before compiling PHP. It
- doesn't matter how you have Apache configured at this point.
-
- Skip to step 3b at this point.
-
-3. Compile and install the files. Simply type: make install
-
-3a. Dynamic Module Installation
-
- Nothing else is needed here. Proceed to step 4a.
-
-3b. Static Module Installation
-
- For the Apache module version this will copy the appropriate files
- to the src/modules/php5 directory in your Apache distribution if
- you are using Apache 1.3.x. If you are still running Apache 1.2.x
- these files will be copied directly to the main src directory.
-
- For Apache 1.3b6 and later, you can use the new APACI configuration
- mechanism. To automatically build Apache with PHP support, use:
-
- cd apache_1.3.x
- ./configure --prefix=/<path>/apache \
- --activate-module=src/modules/php5/libphp5.a
- make
- make install
-
- If you do not wish to use this new configuration tool, the old
- install procedure (src/Configure) will work fine.
-
- If you are using the old Apache ./Configure script, you will have to
- edit the Apache src/Configuration file manually. If you do not have
- this file, copy Configuration.tmpl to Configuration.
-
- For Apache 1.3.x add:
-
- AddModule modules/php5/libphp5.a
-
- For Apache 1.3.x don't do anything else. Just add this line and then
- run "./Configure" followed by "make".
-
- For Apache 1.2.x add:
-
- Module php5_module mod_php5.o
-
- For Apache 1.2.x you will also have to look in the libphp5.module file,
- which was copied to the src directory. The EXTRA_LIBS line in the Apache
- Configuration file needs to be set to use the same libs as specified on
- the LIBS line in libphp5.module. You also need to make sure to add
- "-L." to the beginning of the EXTRA_LIBS line.
-
- So, as an example, your EXTRA_LIBS line might look like:
-
- EXTRA_LIBS=-L. -lphp5 -lgdbm -ldb -L/usr/local/mysql/lib -lmysqlclient
-
- NOTE: You should not enclose the EXTRA_LIBS line in double-quotes, as it
- is in the libphp5.module file.
-
- Also, look at the RULE_WANTHSREGEX setting in the libphp5.module file
- and set the WANTHSREGEX directive accordingly in your Configuration file.
- This last step applies to versions of Apache prior to 1.3b3.
-
- This is a bit of a hassle, but should serve as incentive to move to
- Apache 1.3.x where this step has been eliminated.
-
- Once you are satisfied with your Configuration settings, type: ./Configure
- If you get errors, chances are that you forgot a library or made a typo
- somewhere. Re-edit Configuration and try again. If it goes well,
- type: make
-
- Assuming it compiles without errors, proceed to step 4b.
-
-4a. Setting up the server. (Dynamic Module)
-
- The make install command in step 3 should have done most of your
- work for you. It actually edits your httpd.conf file and tries to
- enable the dynamic PHP module. To verify this, look for a line that
- looks like this:
-
- LoadModule php5_module libexec/libphp5.so
-
- The actual path before the libphp5.so part might differ slightly. This
- is likely fine. If you are paranoid you can examine the output from the
- make install step to see where the libphp5.so file was actually put and
- place the full path to this file on this LoadModule line.
-
- If somewhere in your httpd.conf file you have a ClearModuleList line
- then you also need this line:
-
- AddModule mod_php5.c
-
- And finally you need to tell Apache which file extension should trigger
- PHP. You do this by creating a special mime type and associating it
- with an extension. We suggest using:
-
- AddType application/x-httpd-php .php
-
- You are however free to use any extension you wish, including .html.
-
- Note! If a line has a # at the beginning, then it is commented out
- and you need to remove the # for that line to take effect.
-
- Finally you need to copy php.ini-dist to the appropriate place
- (normally /usr/local/lib/php.ini) and edit if necessary.
-
- Once you have made these changes you should be ready to restart your
- server and try it out. Type: apachectl restart
-
-4b. Setting up the server. (Static Module)
-
- You should now have a new httpd binary. Shut down your existing server,
- if you have one, and copy this new binary overtop of it. Perhaps make
- a backup of your previous one first. Then edit your conf/httpd.conf file
- and add the line:
-
- AddType application/x-httpd-php .php
-
- There is also an interesting feature which can be quite instructive and
- helpful while debugging. That is the option of having colour syntax
- highlighting. To enable this, add the following line:
-
- AddType application/x-httpd-php-source .phps
-
- Any file ending in .phps will now be displayed with full colour syntax
- highlighting instead of being executed.
-
- Note that on some older server setups, the AddType lines are in the
- conf/srm.conf file instead of conf/httpd.conf.
-
- Note! If a line has a # at the beginning, then it is commented out
- and you need to remove the # for that line to take effect.
-
- When you are finished making changes to your httpd.conf file, you need
- to copy php.ini-dist to the appropriate place (normally
- /usr/local/lib/php.ini) and edit if necessary. You can then
- start up your server.
-
-5. Testing it all worked
-
- Create a test file named test.php in your web tree somewhere and
- put some test PHP tags in it. <?phpinfo()?> is a good first test.
- This tag tells PHP to do a braindump and tells you all sorts of things
- about itself.
-
-
-WHY DISABLING -fPIC WORKS ON LINUX
-
- From: Martin v. Loewis <martin@loewis.home.cs.tu-berlin.de>
- To: glibc-linux@ricardo.ecn.wfu.edu
- Subject: Re: Shared library -shared vs. -fpic
-
- [In reply to Kaz Kylheku <kaz@ashi.footprints.net>]
-
- > PIC stands for Position-Independent Code.
-
- Correct.
-
- > Code isn't position-independent (or ``relocatable'') cannot be
- > loaded at an arbitrary address;
-
- Wrong.
-
- > it requires some references to be patched at load time.
-
- Correct.
-
- > Shared libraries need to be relocatable because it's not known
- > beforehand what address they will be loaded at
-
- Correct, depending on the meaning of "relocatable". PIC code typically
- does not contain relocations; that's why its position-independent.
-
- > Just because you don't specify -fPIC doesn't mean that the compiler
- > won't emit position-independent code; the option prevents it from
- > emitting position-dependent code in situations where it otherwise
- > would.
-
- Correct. However, a non-trivial shared library typically won't be
- position-independent unless explicitly compiled with
- -fPIC. Linux/glibc indeed does not require a shared library to be
- position-independent; instead, it will perform the relocations in the
- binary, even if they refer to code pages. As a result, those relocated
- pages won't be shared across processes, anymore.
-
- Regards,
- Martin
-
-USING PHP 3 AND PHP 4 AS CONCURRENT APACHE MODULES
-
- With some (newer) installations of Apache, it's possible to compile both
- PHP 3 and PHP 4, and run them concurrently.
-
- Note, it's only really wise to do this if you need to use the PHP 3 engine
- to maintain backwards compatibility.
-
- To enable it, configure PHP 3 and PHP 4 to use APXS (--with-apxs) and the
- necessary link extensions (--enable-versioning). Otherwise, all standard
- installations instructions apply. For example:
-
- $ ./configure \
- --with-apxs=/apache/bin/apxs \
- --enable-versioning \
- --with-mysql \
-
-
-
-
-
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 && \
- $(INSTALL) modules/* $(INSTALL_ROOT)$(EXTENSION_DIR) >/dev/null 2>&1 || true
-
-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
167 NEWS
@@ -1,167 +0,0 @@
-PHP NEWS
-|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-?? ??? 200?, Version 5.0.0
-
-?? ??? 2003, PHP 5 Beta 2
-- 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 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)
-- 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 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 #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
115 README.CVS-RULES
@@ -1,115 +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. Also see
- the note below about automatically updating NEWS in your commit message.
-
- 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. If the line begins with @, it will be redirected to the
-NEWS file. 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 # or @ at the beginning of _every_ such line. Every
-entry in NEWS has to have a name after it, so if you did it with someone's
-help, put both your names there. Your name WILL NOT be automatically put
-at the end of the NEWS entry - so, please provide it yourself.
-
-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.
-@- Added new 'K' format modifier that will output the number of days
-@ until New Year's Eve. (Bob)
-
-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!
-@- Fixed memory leak in trim(). (Bob)
-
-The lines above marked with @ will go into NEWS file automagically, and the
-# lines will be omitted from the ChangeLog. Alternatively, you might want
-to modify NEWS file directly and not use the @ lines.
-
-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
-@ Fixed pgsql notice handler double free crash bug. Bug #14016
-
-If you don't see your messages in ChangeLog and NEWS right away, don't worry!
-These files are updated once a day, so your stuff will not show up until
-somewhat later. Don't go adding stuff to NEWS by hand if you already put @
-lines in the commit message.
-
-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
57 README.QNX
@@ -1,57 +0,0 @@
-QNX4 Installation Notes
------------------------
-
-NOTE: General installation instructions are in the INSTALL file
-
-
-1. To compile and test PHP3 you have to grab, compile and install:
- - GNU dbm library or another db library;
- - GNU bison (1.25 or later; 1.25 tested);
- - GNU flex (any version supporting -o and -P options; 2.5.4 tested);
- - GNU diffutils (any version supporting -w option; 2.7 tested);
-
-2. To use CVS version you may need also:
- - GNU CVS (1.9 tested);
- - GNU autoconf (2.12 tested);
- - GNU m4 (1.3 or later preferable; 1.4 tested);
-
-3. To run configure define -lunix in command line:
- LDFLAGS=-lunix ./configure
-
-4. To use Sybase SQL Anywhere define ODBC_QNX and CUSTOM_ODBC_LIBS in
- command line and run configure with --with-custom-odbc:
- CFLAGS=-DODBC_QNX LDFLAGS=-lunix CUSTOM_ODBC_LIBS="-ldblib -lodbc" ./configure --with-custom-odbc=/usr/lib/sqlany50
- If you have SQL Anywhere version 5.5.00, then you have to add
- CFLAGS=-DSQLANY_BUG
- to workaround its SQLFreeEnv() bug. Other versions has not been tested,
- so try without this flag first.
-
-5. To build the Apache module, you may have to hardcode an include path for
- alloc.h in your Apache base directory: