Name Date Size #Lines LOC

..03-Nov-2024-

.circleci/H02-May-2024-

.github/H24-Nov-2024-

TSRM/H25-Nov-2024-

Zend/H21-Dec-2024-

benchmark/H16-Jul-2024-

build/H30-Nov-2024-

docs/H29-Nov-2024-

docs-old/H29-Jul-2024-

ext/H24-Nov-2024-

main/H01-Dec-2024-

pear/H13-May-2024-

sapi/H30-Aug-2022-

scripts/H12-Sep-2024-

tests/H30-Aug-2022-

win32/H17-Dec-2024-

.editorconfigH A D29-Nov-2024811 3929

.gdbinitH A D23-Jan-202413.1 KiB656599

.gitattributesH A D16-Apr-20241.1 KiB3428

.gitignoreH A D19-Dec-20248.7 KiB303242

CODING_STANDARDS.mdH A D27-Sep-202411.2 KiB317240

CONTRIBUTING.mdH A D24-Sep-202421.3 KiB451366

EXTENSIONSH A D22-Oct-202423.2 KiB509494

LICENSEH A D04-Jan-20243.1 KiB6955

NEWSH A D21-Dec-20243.4 KiB10580

README.REDIST.BINSH A D08-Aug-202429.7 KiB682528

README.mdH A D04-Sep-20244.7 KiB14192

SECURITY.mdH A D30-Jan-2024618 1812

UPGRADINGH A DToday8.1 KiB246195

UPGRADING.INTERNALSH A D06-Nov-2024578 3523

buildconfH A D09-Nov-20243.9 KiB138102

buildconf.batH A D30-Aug-2022346 86

codecov.ymlH A D29-Jun-2024318 1211

configure.acH A D27-Oct-202451.5 KiB1,8431,601

php.ini-developmentH A D02-Dec-202467.7 KiB1,8631,543

php.ini-productionH A D02-Dec-202467.8 KiB1,8651,545

run-tests.phpH A D12-Dec-2024138.2 KiB4,1363,460

README.REDIST.BINS

1 1. libmagic (ext/fileinfo) see ext/fileinfo/libmagic/LICENSE
2 2. libmbfl (ext/mbstring) see ext/mbstring/libmbfl/LICENSE
3 3. pcre2lib (ext/pcre)
4 4. ext/standard crypt
5 5. ext/standard crypt's blowfish implementation
6 6. ext/standard/rand
7 7. ext/standard/scanf
8 8. ext/standard/strnatcmp.c
9 9. ext/standard/uuencode
1010. main/snprintf.c
1111. main/strlcat
1212. main/strlcpy
1313. libgd (ext/gd)
1414. ext/phar portions of tar implementations
1515. ext/phar/zip.c portion extracted from libzip
1616. libbcmath (ext/bcmath) see ext/bcmath/libbcmath/LICENSE
1717. ext/mbstring/ucgendat portions based on the ucgendat.c from the OpenLDAP
1818. avifinfo (ext/standard/libavifinfo) see ext/standard/libavifinfo/LICENSE
1919. xxHash (ext/hash/xxhash)
2020. Lexbor (ext/dom/lexbor/lexbor) see ext/dom/lexbor/LICENSE
2121. Portions of libcperciva (ext/hash/hash_sha_{ni,sse2}.c) see the header in the source file
22
233. pcre2lib (ext/pcre)
24
25PCRE2 LICENCE
26-------------
27
28PCRE2 is a library of functions to support regular expressions whose syntax
29and semantics are as close as possible to those of the Perl 5 language.
30
31Releases 10.00 and above of PCRE2 are distributed under the terms of the "BSD"
32licence, as specified below, with one exemption for certain binary
33redistributions. The documentation for PCRE2, supplied in the "doc" directory,
34is distributed under the same terms as the software itself. The data in the
35testdata directory is not copyrighted and is in the public domain.
36
37The basic library functions are written in C and are freestanding. Also
38included in the distribution is a just-in-time compiler that can be used to
39optimize pattern matching. This is an optional feature that can be omitted when
40the library is built.
41
42
43THE BASIC LIBRARY FUNCTIONS
44---------------------------
45
46Written by:       Philip Hazel
47Email local part: ph10
48Email domain:     cam.ac.uk
49
50University of Cambridge Computing Service,
51Cambridge, England.
52
53Copyright (c) 1997-2019 University of Cambridge
54All rights reserved.
55
56
57PCRE2 JUST-IN-TIME COMPILATION SUPPORT
58--------------------------------------
59
60Written by:       Zoltan Herczeg
61Email local part: hzmester
62Email domain:     freemail.hu
63
64Copyright(c) 2010-2019 Zoltan Herczeg
65All rights reserved.
66
67
68STACK-LESS JUST-IN-TIME COMPILER
69--------------------------------
70
71Written by:       Zoltan Herczeg
72Email local part: hzmester
73Email domain:     freemail.hu
74
75Copyright(c) 2009-2019 Zoltan Herczeg
76All rights reserved.
77
78
79THE "BSD" LICENCE
80-----------------
81
82Redistribution and use in source and binary forms, with or without
83modification, are permitted provided that the following conditions are met:
84
85    * Redistributions of source code must retain the above copyright notices,
86      this list of conditions and the following disclaimer.
87
88    * Redistributions in binary form must reproduce the above copyright
89      notices, this list of conditions and the following disclaimer in the
90      documentation and/or other materials provided with the distribution.
91
92    * Neither the name of the University of Cambridge nor the names of any
93      contributors may be used to endorse or promote products derived from this
94      software without specific prior written permission.
95
96THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
97AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
98IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
99ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
100LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
101CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
102SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
103INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
104CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
105ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
106POSSIBILITY OF SUCH DAMAGE.
107
108
109EXEMPTION FOR BINARY LIBRARY-LIKE PACKAGES
110------------------------------------------
111
112The second condition in the BSD licence (covering binary redistributions) does
113not apply all the way down a chain of software. If binary package A includes
114PCRE2, it must respect the condition, but if package B is software that
115includes package A, the condition is not imposed on package B unless it uses
116PCRE2 independently.
117
118End
119
120
1214. ext/standard crypt
122
123FreeSec: libcrypt for NetBSD
124
125Copyright (c) 1994 David Burren
126All rights reserved.
127
128Redistribution and use in source and binary forms, with or without
129modification, are permitted provided that the following conditions
130are met:
1311. Redistributions of source code must retain the above copyright
132   notice, this list of conditions and the following disclaimer.
1332. Redistributions in binary form must reproduce the above copyright
134   notice, this list of conditions and the following disclaimer in the
135   documentation and/or other materials provided with the distribution.
1363. Neither the name of the author nor the names of other contributors
137   may be used to endorse or promote products derived from this software
138   without specific prior written permission.
139
140THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
141ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
142IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
143ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
144FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
145DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
146OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
147HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
148LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
149OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
150SUCH DAMAGE.
151
152
1535. ext/standard crypt's blowfish implementation
154
155The crypt_blowfish homepage is:
156
157http://www.openwall.com/crypt/
158
159This code comes from John the Ripper password cracker, with reentrant
160and crypt(3) interfaces added, but optimizations specific to password
161cracking removed.
162
163Written by Solar Designer <solar at openwall.com> in 1998-2011.
164No copyright is claimed, and the software is hereby placed in the public
165domain. In case this attempt to disclaim copyright and place the software
166in the public domain is deemed null and void, then the software is
167Copyright (c) 1998-2011 Solar Designer and it is hereby released to the
168general public under the following terms:
169
170Redistribution and use in source and binary forms, with or without
171modification, are permitted.
172
173There's ABSOLUTELY NO WARRANTY, express or implied.
174
175It is my intent that you should be able to use this on your system,
176as part of a software package, or anywhere else to improve security,
177ensure compatibility, or for any other purpose. I would appreciate
178it if you give credit where it is due and keep your modifications in
179the public domain as well, but I don't require that in order to let
180you place this code and any modifications you make under a license
181of your choice.
182
183This implementation is mostly compatible with OpenBSD's bcrypt.c (prefix
184"$2a$") by Niels Provos <provos at citi.umich.edu>, and uses some of his
185ideas. The password hashing algorithm was designed by David Mazieres
186<dm at lcs.mit.edu>. For more information on the level of compatibility,
187please refer to the comments in BF_set_key() and to the crypt(3) man page
188included in the crypt_blowfish tarball.
189
190There's a paper on the algorithm that explains its design decisions:
191
192http://www.usenix.org/events/usenix99/provos.html
193
194Some of the tricks in BF_ROUND might be inspired by Eric Young's
195Blowfish library (I can't be sure if I would think of something if I
196hadn't seen his code).
197
198
1996. ext/standard/rand
200
201The following php_mt_...() functions are based on a C++ class MTRand by
202Richard J. Wagner. For more information see the web page at
203http://www-personal.engin.umich.edu/~wagnerr/MersenneTwister.html
204
205Mersenne Twister random number generator -- a C++ class MTRand
206Based on code by Makoto Matsumoto, Takuji Nishimura, and Shawn Cokus
207Richard J. Wagner  v1.0  15 May 2003  rjwagner@writeme.com
208
209The Mersenne Twister is an algorithm for generating random numbers.  It
210was designed with consideration of the flaws in various other generators.
211The period, 2^19937-1, and the order of equidistribution, 623 dimensions,
212are far greater.  The generator is also fast; it avoids multiplication and
213division, and it benefits from caches and pipelines.  For more information
214see the inventors' web page at http://www.math.keio.ac.jp/~matumoto/emt.html
215
216Reference
217M. Matsumoto and T. Nishimura, "Mersenne Twister: A 623-Dimensionally
218Equidistributed Uniform Pseudo-Random Number Generator", ACM Transactions on
219Modeling and Computer Simulation, Vol. 8, No. 1, January 1998, pp 3-30.
220
221Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura,
222Copyright (C) 2000 - 2003, Richard J. Wagner
223All rights reserved.
224
225Redistribution and use in source and binary forms, with or without
226modification, are permitted provided that the following conditions
227are met:
228
2291. Redistributions of source code must retain the above copyright
230   notice, this list of conditions and the following disclaimer.
231
2322. Redistributions in binary form must reproduce the above copyright
233   notice, this list of conditions and the following disclaimer in the
234   documentation and/or other materials provided with the distribution.
235
2363. The names of its contributors may not be used to endorse or promote
237   products derived from this software without specific prior written
238   permission.
239
240THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
241"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
242LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
243A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
244CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
245EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
246PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
247PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
248LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
249NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
250SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
251
252
2537. ext/standard/scanf
254
255scanf.c --
256
257This file contains the base code which implements sscanf and by extension
258fscanf. Original code is from TCL8.3.0 and bears the following copyright:
259
260This software is copyrighted by the Regents of the University of
261California, Sun Microsystems, Inc., Scriptics Corporation,
262and other parties.  The following terms apply to all files associated
263with the software unless explicitly disclaimed in individual files.
264
265The authors hereby grant permission to use, copy, modify, distribute,
266and license this software and its documentation for any purpose, provided
267that existing copyright notices are retained in all copies and that this
268notice is included verbatim in any distributions. No written agreement,
269license, or royalty fee is required for any of the authorized uses.
270Modifications to this software may be copyrighted by their authors
271and need not follow the licensing terms described here, provided that
272the new terms are clearly indicated on the first page of each file where
273they apply.
274
275IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY
276FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
277ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY
278DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE
279POSSIBILITY OF SUCH DAMAGE.
280
281THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES,
282INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY,
283FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT.  THIS SOFTWARE
284IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE
285NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR
286MODIFICATIONS.
287
288GOVERNMENT USE: If you are acquiring this software on behalf of the
289U.S. government, the Government shall have only "Restricted Rights"
290in the software and related documentation as defined in the Federal
291Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2).  If you
292are acquiring the software on behalf of the Department of Defense, the
293software shall be classified as "Commercial Computer Software" and the
294Government shall have only "Restricted Rights" as defined in Clause
295252.227-7013 (c) (1) of DFARs.  Notwithstanding the foregoing, the
296authors grant the U.S. Government and others acting in its behalf
297permission to use and distribute the software in accordance with the
298terms specified in this license.
299
300
3018. ext/standard/strnatcmp.c
302
303strnatcmp.c -- Perform 'natural order' comparisons of strings in C.
304Copyright (C) 2000 by Martin Pool <mbp@humbug.org.au>
305
306This software is provided 'as-is', without any express or implied
307warranty.  In no event will the authors be held liable for any damages
308arising from the use of this software.
309
310Permission is granted to anyone to use this software for any purpose,
311including commercial applications, and to alter it and redistribute it
312freely, subject to the following restrictions:
313
3141. The origin of this software must not be misrepresented; you must not
315   claim that you wrote the original software. If you use this software
316   in a product, an acknowledgment in the product documentation would be
317   appreciated but is not required.
3182. Altered source versions must be plainly marked as such, and must not be
319   misrepresented as being the original software.
3203. This notice may not be removed or altered from any source distribution.
321
322
3239. ext/standard/uuencode
324
325Portions of this code are based on Berkeley's uuencode/uudecode
326implementation.
327
328Copyright (c) 1983, 1993
329The Regents of the University of California.  All rights reserved.
330
331Redistribution and use in source and binary forms, with or without
332modification, are permitted provided that the following conditions
333are met:
3341. Redistributions of source code must retain the above copyright
335   notice, this list of conditions and the following disclaimer.
3362. Redistributions in binary form must reproduce the above copyright
337   notice, this list of conditions and the following disclaimer in the
338   documentation and/or other materials provided with the distribution.
3393. All advertising materials mentioning features or use of this software
340   must display the following acknowledgement:
341This product includes software developed by the University of
342California, Berkeley and its contributors.
3434. Neither the name of the University nor the names of its contributors
344   may be used to endorse or promote products derived from this software
345   without specific prior written permission.
346
347THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
348ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
349IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
350ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
351FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
352DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
353OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
354HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
355LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
356OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
357SUCH DAMAGE.
358
359
36010. main/snprintf.c
361
362Copyright (c) 2002, 2006 Todd C. Miller <Todd.Miller@courtesan.com>
363
364Permission to use, copy, modify, and distribute this software for any
365purpose with or without fee is hereby granted, provided that the above
366copyright notice and this permission notice appear in all copies.
367
368THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
369WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
370MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
371ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
372WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
373ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
374OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
375
376Sponsored in part by the Defense Advanced Research Projects
377Agency (DARPA) and Air Force Research Laboratory, Air Force
378Materiel Command, USAF, under agreement number F39502-99-1-0512.
379
380main/spprintf
381Copyright (c) 1995-1998 The Apache Group.  All rights reserved.
382
383Redistribution and use in source and binary forms, with or without
384modification, are permitted provided that the following conditions
385are met:
386
3871. Redistributions of source code must retain the above copyright
388   notice, this list of conditions and the following disclaimer.
389
3902. Redistributions in binary form must reproduce the above copyright
391   notice, this list of conditions and the following disclaimer in
392   the documentation and/or other materials provided with the
393   distribution.
394
3953. All advertising materials mentioning features or use of this
396   software must display the following acknowledgment:
397   "This product includes software developed by the Apache Group
398   for use in the Apache HTTP server project (http://www.apache.org/)."
399
4004. The names "Apache Server" and "Apache Group" must not be used to
401   endorse or promote products derived from this software without
402   prior written permission.
403
4045. Redistributions of any form whatsoever must retain the following
405   acknowledgment:
406   "This product includes software developed by the Apache Group
407   for use in the Apache HTTP server project (http://www.apache.org/)."
408
409THIS SOFTWARE IS PROVIDED BY THE APACHE GROUP ``AS IS'' AND ANY
410EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
411IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
412PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE APACHE GROUP OR
413ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
414SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
415NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
416LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
417HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
418STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
419ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
420OF THE POSSIBILITY OF SUCH DAMAGE.
421====================================================================
422
423This software consists of voluntary contributions made by many
424individuals on behalf of the Apache Group and was originally based
425on public domain software written at the National Center for
426Supercomputing Applications, University of Illinois, Urbana-Champaign.
427For more information on the Apache Group and the Apache HTTP server
428project, please see <http://www.apache.org/>.
429
430This code is based on, and used with the permission of, the
431SIO stdio-replacement strx_* functions by Panos Tsirigotis
432<panos@alumni.cs.colorado.edu> for xinetd.
433
434
43511. main/strlcat
43612. main/strlcpy
437
438Copyright (c) 1998 Todd C. Miller <Todd.Miller@courtesan.com>
439All rights reserved.
440
441Redistribution and use in source and binary forms, with or without
442modification, are permitted provided that the following conditions
443are met:
4441. Redistributions of source code must retain the above copyright
445   notice, this list of conditions and the following disclaimer.
4462. Redistributions in binary form must reproduce the above copyright
447   notice, this list of conditions and the following disclaimer in the
448   documentation and/or other materials provided with the distribution.
4493. The name of the author may not be used to endorse or promote products
450   derived from this software without specific prior written permission.
451
452THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
453INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
454AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL
455THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
456EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
457PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
458OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
459WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
460OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
461ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
462
463
46413. libgd (ext/gd)
465
466* Portions copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
467  2002, 2003, 2004 by Cold Spring Harbor Laboratory. Funded under
468  Grant P41-RR02188 by the National Institutes of Health.
469
470* Portions copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
471  2004 by Boutell.Com, Inc.
472
473* Portions relating to GD2 format copyright 1999, 2000, 2001, 2002,
474  2003, 2004 Philip Warner.
475
476* Portions relating to PNG copyright 1999, 2000, 2001, 2002, 2003,
477  2004 Greg Roelofs.
478
479* Portions relating to gdttf.c copyright 1999, 2000, 2001, 2002,
480  2003, 2004 John Ellson (ellson@graphviz.org).
481
482* Portions relating to gdft.c copyright 2001, 2002, 2003, 2004 John
483  Ellson (ellson@graphviz.org).
484
485* Portions copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
486  Pierre-Alain Joye (pierre@libgd.org).
487
488* Portions relating to JPEG and to color quantization copyright
489  2000, 2001, 2002, 2003, 2004, Doug Becker and copyright (C) 1994,
490  1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 Thomas
491  G. Lane. This software is based in part on the work of the
492  Independent JPEG Group. See the file README-JPEG.TXT for more
493  information.
494
495* Portions relating to GIF compression copyright 1989 by Jef
496  Poskanzer and David Rowley, with modifications for thread safety
497  by Thomas Boutell.
498
499* Portions relating to GIF decompression copyright 1990, 1991, 1993
500  by David Koblas, with modifications for thread safety by Thomas
501  Boutell.
502
503* Portions relating to WBMP copyright 2000, 2001, 2002, 2003, 2004
504  Maurice Szmurlo and Johan Van den Brande.
505
506* Portions relating to GIF animations copyright 2004 Jaakko Hyvätti
507  (jaakko.hyvatti@iki.fi)
508
509Permission has been granted to copy, distribute and modify gd in
510any context without fee, including a commercial application,
511provided that this notice is present in user-accessible supporting
512documentation.
513
514This does not affect your ownership of the derived work itself,
515and the intent is to assure proper credit for the authors of gd,
516not to interfere with your productive use of gd. If you have
517questions, ask. "Derived works" includes all programs that utilize
518the library. Credit must be given in user-accessible
519documentation.
520
521This software is provided "AS IS." The copyright holders disclaim
522all warranties, either express or implied, including but not
523limited to implied warranties of merchantability and fitness for a
524particular purpose, with respect to this code and accompanying
525documentation.
526
527Although their code does not appear in the current release, the
528authors wish to thank David Koblas, David Rowley, and Hutchison
529Avenue Software Corporation for their prior contributions.
530
531END OF COPYRIGHT STATEMENT
532
533
53414. ext/phar portions of tar implementations
535
536portions of tar implementations in ext/phar - phar_tar_octal() are based on an
537implementation by Tim Kientzle from libarchive, licensed with this license:
538
539 Copyright (c) 2003-2007 Tim Kientzle
540 All rights reserved.
541
542 Redistribution and use in source and binary forms, with or without
543 modification, are permitted provided that the following conditions
544 are met:
545 1. Redistributions of source code must retain the above copyright
546    notice, this list of conditions and the following disclaimer.
547 2. Redistributions in binary form must reproduce the above copyright
548    notice, this list of conditions and the following disclaimer in the
549    documentation and/or other materials provided with the distribution.
550
551 THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR
552 IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
553 OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
554 IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT,
555 INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
556 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
557 DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
558 THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
559 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
560 THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
561
562
56315. ext/phar/zip.c portion extracted from libzip
564
565zip_dirent.c -- read directory entry (local or central), clean dirent
566Copyright (C) 1999, 2003, 2004, 2005 Dieter Baron and Thomas Klausner
567
568This function is part of libzip, a library to manipulate ZIP archives.
569The authors can be contacted at <nih@giga.or.at>
570
571Redistribution and use in source and binary forms, with or without
572modification, are permitted provided that the following conditions
573are met:
5741. Redistributions of source code must retain the above copyright
575   notice, this list of conditions and the following disclaimer.
5762. Redistributions in binary form must reproduce the above copyright
577   notice, this list of conditions and the following disclaimer in
578   the documentation and/or other materials provided with the
579   distribution.
5803. The names of the authors may not be used to endorse or promote
581   products derived from this software without specific prior
582   written permission.
583
584THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS
585OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
586WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
587ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
588DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
589DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
590GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
591INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
592IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
593OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
594IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
595
596
59717. ext/mbstring/ucgendat portions based on the ucgendat.c from the OpenLDAP
598
599The OpenLDAP Public License
600  Version 2.8, 17 August 2003
601
602Redistribution and use of this software and associated documentation
603("Software"), with or without modification, are permitted provided
604that the following conditions are met:
605
6061. Redistributions in source form must retain copyright statements
607   and notices,
608
6092. Redistributions in binary form must reproduce applicable copyright
610   statements and notices, this list of conditions, and the following
611   disclaimer in the documentation and/or other materials provided
612   with the distribution, and
613
6143. Redistributions must contain a verbatim copy of this document.
615
616The OpenLDAP Foundation may revise this license from time to time.
617Each revision is distinguished by a version number.  You may use
618this Software under terms of this license revision or under the
619terms of any subsequent revision of the license.
620
621THIS SOFTWARE IS PROVIDED BY THE OPENLDAP FOUNDATION AND ITS
622CONTRIBUTORS ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
623INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
624AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT
625SHALL THE OPENLDAP FOUNDATION, ITS CONTRIBUTORS, OR THE AUTHOR(S)
626OR OWNER(S) OF THE SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT,
627INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
628BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
629LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
630CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
631LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
632ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
633POSSIBILITY OF SUCH DAMAGE.
634
635The names of the authors and copyright holders must not be used in
636advertising or otherwise to promote the sale, use or other dealing
637in this Software without specific, written prior permission.  Title
638to copyright in this Software shall at all times remain with copyright
639holders.
640
641OpenLDAP is a registered trademark of the OpenLDAP Foundation.
642
643Copyright 1999-2003 The OpenLDAP Foundation, Redwood City,
644California, USA.  All Rights Reserved.  Permission to copy and
645distribute verbatim copies of this document is granted.
646
647
64819. xxHash
649
650xxHash - Extremely Fast Hash algorithm
651Header File
652Copyright (C) 2012-2020 Yann Collet
653
654BSD 2-Clause License (https://www.opensource.org/licenses/bsd-license.php)
655
656Redistribution and use in source and binary forms, with or without
657modification, are permitted provided that the following conditions are
658met:
659
660   * Redistributions of source code must retain the above copyright
661     notice, this list of conditions and the following disclaimer.
662   * Redistributions in binary form must reproduce the above
663     copyright notice, this list of conditions and the following disclaimer
664     in the documentation and/or other materials provided with the
665     distribution.
666
667THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
668"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
669LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
670A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
671OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
672SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
673LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
674DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
675THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
676(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
677OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
678
679You can contact the author at:
680  - xxHash homepage: https://www.xxhash.com
681  - xxHash source repository: https://github.com/Cyan4973/xxHash
682

README.md

1<div align="center">
2    <a href="https://www.php.net">
3        <img
4            alt="PHP"
5            src="https://www.php.net/images/logos/new-php-logo.svg"
6            width="150">
7    </a>
8</div>
9
10# The PHP Interpreter
11
12PHP is a popular general-purpose scripting language that is especially suited to
13web development. Fast, flexible and pragmatic, PHP powers everything from your
14blog to the most popular websites in the world. PHP is distributed under the
15[PHP License v3.01](LICENSE).
16
17[![Push](https://github.com/php/php-src/actions/workflows/push.yml/badge.svg)](https://github.com/php/php-src/actions/workflows/push.yml)
18[![Fuzzing Status](https://oss-fuzz-build-logs.storage.googleapis.com/badges/php.svg)](https://bugs.chromium.org/p/oss-fuzz/issues/list?sort=-opened&can=1&q=proj:php)
19
20## Documentation
21
22The PHP manual is available at [php.net/docs](https://www.php.net/docs).
23
24## Installation
25
26### Prebuilt packages and binaries
27
28Prebuilt packages and binaries can be used to get up and running fast with PHP.
29
30For Windows, the PHP binaries can be obtained from
31[windows.php.net](https://windows.php.net). After extracting the archive the
32`*.exe` files are ready to use.
33
34For other systems, see the [installation chapter](https://www.php.net/install).
35
36### Building PHP source code
37
38*For Windows, see [Build your own PHP on Windows](https://wiki.php.net/internals/windows/stepbystepbuild_sdk_2).*
39
40For a minimal PHP build from Git, you will need autoconf, bison, and re2c. For
41a default build, you will additionally need libxml2 and libsqlite3.
42
43On Ubuntu, you can install these using:
44
45    sudo apt install -y pkg-config build-essential autoconf bison re2c \
46                        libxml2-dev libsqlite3-dev
47
48On Fedora, you can install these using:
49
50    sudo dnf install re2c bison autoconf make libtool ccache libxml2-devel sqlite-devel
51
52Generate configure:
53
54    ./buildconf
55
56Configure your build. `--enable-debug` is recommended for development, see
57`./configure --help` for a full list of options.
58
59    # For development
60    ./configure --enable-debug
61    # For production
62    ./configure
63
64Build PHP. To speed up the build, specify the maximum number of jobs using `-j`:
65
66    make -j4
67
68The number of jobs should usually match the number of available cores, which
69can be determined using `nproc`.
70
71## Testing PHP source code
72
73PHP ships with an extensive test suite, the command `make test` is used after
74successful compilation of the sources to run this test suite.
75
76It is possible to run tests using multiple cores by setting `-jN` in
77`TEST_PHP_ARGS`:
78
79    make TEST_PHP_ARGS=-j4 test
80
81Shall run `make test` with a maximum of 4 concurrent jobs: Generally the maximum
82number of jobs should not exceed the number of cores available.
83
84The [qa.php.net](https://qa.php.net) site provides more detailed info about
85testing and quality assurance.
86
87## Installing PHP built from source
88
89After a successful build (and test), PHP may be installed with:
90
91    make install
92
93Depending on your permissions and prefix, `make install` may need super user
94permissions.
95
96## PHP extensions
97
98Extensions provide additional functionality on top of PHP. PHP consists of many
99essential bundled extensions. Additional extensions can be found in the PHP
100Extension Community Library - [PECL](https://pecl.php.net).
101
102## Contributing
103
104The PHP source code is located in the Git repository at
105[github.com/php/php-src](https://github.com/php/php-src). Contributions are most
106welcome by forking the repository and sending a pull request.
107
108Discussions are done on GitHub, but depending on the topic can also be relayed
109to the official PHP developer mailing list internals@lists.php.net.
110
111New features require an RFC and must be accepted by the developers. See
112[Request for comments - RFC](https://wiki.php.net/rfc) and
113[Voting on PHP features](https://wiki.php.net/rfc/voting) for more information
114on the process.
115
116Bug fixes don't require an RFC. If the bug has a GitHub issue, reference it in
117the commit message using `GH-NNNNNN`. Use `#NNNNNN` for tickets in the old
118[bugs.php.net](https://bugs.php.net) bug tracker.
119
120    Fix GH-7815: php_uname doesn't recognise latest Windows versions
121    Fix #55371: get_magic_quotes_gpc() throws deprecation warning
122
123See [Git workflow](https://wiki.php.net/vcs/gitworkflow) for details on how pull
124requests are merged.
125
126### Guidelines for contributors
127
128See further documents in the repository for more information on how to
129contribute:
130
131- [Contributing to PHP](/CONTRIBUTING.md)
132- [PHP coding standards](/CODING_STANDARDS.md)
133- [Internal documentation](https://php.github.io/php-src/)
134- [Mailing list rules](/docs/mailinglist-rules.md)
135- [PHP release process](/docs/release-process.md)
136
137## Credits
138
139For the list of people who've put work into PHP, please see the
140[PHP credits page](https://www.php.net/credits.php).
141