xref: /PHP-7.4/README.md (revision d1163438)
1<div align="center">
2    <a href="https://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 PHP
15License v3.01.
16
17[![Build status](https://travis-ci.org/php/php-src.svg?branch=master)](https://travis-ci.org/php/php-src)
18[![Build status](https://ci.appveyor.com/api/projects/status/meyur6fviaxgdwdy?svg=true)](https://ci.appveyor.com/project/php/php-src)
19[![Build Status](https://dev.azure.com/phpazuredevops/php/_apis/build/status/php.php-src?branchName=PHP-7.4)](https://dev.azure.com/phpazuredevops/php/_build/latest?definitionId=1&branchName=PHP-7.4)
20
21## Documentation
22
23The PHP manual is available at [php.net/docs](https://php.net/docs).
24
25## Installation
26
27### Prebuilt packages and binaries
28
29Prebuilt packages and binaries can be used to get up and running fast with PHP.
30
31For Windows, the PHP binaries can be obtained from
32[windows.php.net](https://windows.php.net). After extracting the archive the
33`*.exe` files are ready to use.
34
35For other systems, see the [installation chapter](https://php.net/install).
36
37### Building PHP source code
38
39*For Windows, see [Build your own PHP on Windows](https://wiki.php.net/internals/windows/stepbystepbuild_sdk_2).*
40
41PHP uses autotools on Unix systems to configure the build:
42
43    ./buildconf
44    ./configure [options]
45
46*See `./configure -h` for configuration options.*
47
48    make [options]
49
50*See `make -h` for make options.*
51
52The `-j` option shall set the maximum number of jobs `make` can use for the
53build:
54
55    make -j4
56
57Shall run `make` with a maximum of 4 concurrent jobs: Generally the maximum
58number of jobs should not exceed the number of cores available.
59
60## Testing PHP source code
61
62PHP ships with an extensive test suite, the command `make test` is used after
63successful compilation of the sources to run this test suite.
64
65It is possible to run tests using multiple cores by setting `-jN` in
66`TEST_PHP_ARGS`:
67
68    make TEST_PHP_ARGS=-j4 test
69
70Shall run `make test` with a maximum of 4 concurrent jobs: Generally the maximum
71number of jobs should not exceed the number of cores available.
72
73The [qa.php.net](https://qa.php.net) site provides more detailed info about
74testing and quality assurance.
75
76## Installing PHP built from source
77
78After a successful build (and test), PHP may be installed with:
79
80    make install
81
82Depending on your permissions and prefix, `make install` may need super user
83permissions.
84
85## PHP extensions
86
87Extensions provide additional functionality on top of PHP. PHP consists of many
88essential bundled extensions. Additional extensions can be found in the PHP
89Extension Community Library - [PECL](https://pecl.php.net).
90
91## Contributing
92
93The PHP source code is located in the Git repository at
94[git.php.net](https://git.php.net). Contributions are most welcome by forking
95the [GitHub mirror repository](https://github.com/php/php-src) and sending a
96pull request.
97
98Discussions are done on GitHub, but depending on the topic can also be relayed
99to the official PHP developer mailing list internals@lists.php.net.
100
101New features require an RFC and must be accepted by the developers. See
102[Request for comments - RFC](https://wiki.php.net/rfc) and
103[Voting on PHP features](https://wiki.php.net/rfc/voting) for more information
104on the process.
105
106Bug fixes **do not** require an RFC but require a bug tracker ticket. Open a
107ticket at [bugs.php.net](https://bugs.php.net) and reference the bug id using
108`#NNNNNN`.
109
110    Fix #55371: get_magic_quotes_gpc() throws deprecation warning
111
112    After removing magic quotes, the get_magic_quotes_gpc function caused a
113    deprecated warning. get_magic_quotes_gpc can be used to detect the
114    magic_quotes behavior and therefore should not raise a warning at any time.
115    The patch removes this warning.
116
117Pull requests are not merged directly on GitHub. All PRs will be pulled and
118pushed through [git.php.net](https://git.php.net). See
119[Git workflow](https://wiki.php.net/vcs/gitworkflow) for more details.
120
121### Guidelines for contributors
122
123See further documents in the repository for more information on how to
124contribute:
125
126- [Contributing to PHP](/CONTRIBUTING.md)
127- [PHP coding standards](/CODING_STANDARDS.md)
128- [Mailinglist rules](/docs/mailinglist-rules.md)
129- [PHP release process](/docs/release-process.md)
130
131## Credits
132
133For the list of people who've put work into PHP, please see the
134[PHP credits page](https://php.net/credits.php).
135