xref: /PHP-7.4/README.md (revision d1163438)
129573269SPeter Kokot<div align="center">
229573269SPeter Kokot    <a href="https://php.net">
329573269SPeter Kokot        <img
429573269SPeter Kokot            alt="PHP"
547c5fa07SPeter Kokot            src="https://www.php.net/images/logos/new-php-logo.svg"
629573269SPeter Kokot            width="150">
729573269SPeter Kokot    </a>
829573269SPeter Kokot</div>
954d85308SDavid Soria Parra
1029573269SPeter Kokot# The PHP Interpreter
1154d85308SDavid Soria Parra
1229573269SPeter KokotPHP is a popular general-purpose scripting language that is especially suited to
1329573269SPeter Kokotweb development. Fast, flexible and pragmatic, PHP powers everything from your
1429573269SPeter Kokotblog to the most popular websites in the world. PHP is distributed under the PHP
1529573269SPeter KokotLicense v3.01.
1629573269SPeter Kokot
1729573269SPeter Kokot[![Build status](https://travis-ci.org/php/php-src.svg?branch=master)](https://travis-ci.org/php/php-src)
183a886c9dSAnatol Belski[![Build status](https://ci.appveyor.com/api/projects/status/meyur6fviaxgdwdy?svg=true)](https://ci.appveyor.com/project/php/php-src)
19*d1163438SJoe Watkins[![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)
2054d85308SDavid Soria Parra
2129573269SPeter Kokot## Documentation
2229573269SPeter Kokot
2329573269SPeter KokotThe PHP manual is available at [php.net/docs](https://php.net/docs).
2429573269SPeter Kokot
2529573269SPeter Kokot## Installation
2629573269SPeter Kokot
2729573269SPeter Kokot### Prebuilt packages and binaries
2829573269SPeter Kokot
2929573269SPeter KokotPrebuilt packages and binaries can be used to get up and running fast with PHP.
3029573269SPeter Kokot
3129573269SPeter KokotFor Windows, the PHP binaries can be obtained from
3229573269SPeter Kokot[windows.php.net](https://windows.php.net). After extracting the archive the
3329573269SPeter Kokot`*.exe` files are ready to use.
3429573269SPeter Kokot
3529573269SPeter KokotFor other systems, see the [installation chapter](https://php.net/install).
3629573269SPeter Kokot
3779c6636fSJoe Watkins### Building PHP source code
3829573269SPeter Kokot
3979c6636fSJoe Watkins*For Windows, see [Build your own PHP on Windows](https://wiki.php.net/internals/windows/stepbystepbuild_sdk_2).*
4079c6636fSJoe Watkins
4179c6636fSJoe WatkinsPHP uses autotools on Unix systems to configure the build:
4229573269SPeter Kokot
4329573269SPeter Kokot    ./buildconf
4479c6636fSJoe Watkins    ./configure [options]
4579c6636fSJoe Watkins
4679c6636fSJoe Watkins*See `./configure -h` for configuration options.*
4779c6636fSJoe Watkins
4879c6636fSJoe Watkins    make [options]
4979c6636fSJoe Watkins
5079c6636fSJoe Watkins*See `make -h` for make options.*
5179c6636fSJoe Watkins
521c94aac8SPeter KokotThe `-j` option shall set the maximum number of jobs `make` can use for the
531c94aac8SPeter Kokotbuild:
5479c6636fSJoe Watkins
5579c6636fSJoe Watkins    make -j4
5647c5fa07SPeter Kokot
571c94aac8SPeter KokotShall run `make` with a maximum of 4 concurrent jobs: Generally the maximum
581c94aac8SPeter Kokotnumber of jobs should not exceed the number of cores available.
5979c6636fSJoe Watkins
6079c6636fSJoe Watkins## Testing PHP source code
6179c6636fSJoe Watkins
621c94aac8SPeter KokotPHP ships with an extensive test suite, the command `make test` is used after
631c94aac8SPeter Kokotsuccessful compilation of the sources to run this test suite.
6454d85308SDavid Soria Parra
651c94aac8SPeter KokotIt is possible to run tests using multiple cores by setting `-jN` in
661c94aac8SPeter Kokot`TEST_PHP_ARGS`:
6754d85308SDavid Soria Parra
682c78b80eSJoe Watkins    make TEST_PHP_ARGS=-j4 test
6947c5fa07SPeter Kokot
701c94aac8SPeter KokotShall run `make test` with a maximum of 4 concurrent jobs: Generally the maximum
711c94aac8SPeter Kokotnumber of jobs should not exceed the number of cores available.
7229573269SPeter Kokot
731c94aac8SPeter KokotThe [qa.php.net](https://qa.php.net) site provides more detailed info about
741c94aac8SPeter Kokottesting and quality assurance.
7579c6636fSJoe Watkins
7679c6636fSJoe Watkins## Installing PHP built from source
7779c6636fSJoe Watkins
7879c6636fSJoe WatkinsAfter a successful build (and test), PHP may be installed with:
7979c6636fSJoe Watkins
8079c6636fSJoe Watkins    make install
8147c5fa07SPeter Kokot
821c94aac8SPeter KokotDepending on your permissions and prefix, `make install` may need super user
831c94aac8SPeter Kokotpermissions.
8429573269SPeter Kokot
8529573269SPeter Kokot## PHP extensions
8629573269SPeter Kokot
8729573269SPeter KokotExtensions provide additional functionality on top of PHP. PHP consists of many
8829573269SPeter Kokotessential bundled extensions. Additional extensions can be found in the PHP
8929573269SPeter KokotExtension Community Library - [PECL](https://pecl.php.net).
9029573269SPeter Kokot
9129573269SPeter Kokot## Contributing
9229573269SPeter Kokot
9329573269SPeter KokotThe PHP source code is located in the Git repository at
9429573269SPeter Kokot[git.php.net](https://git.php.net). Contributions are most welcome by forking
9529573269SPeter Kokotthe [GitHub mirror repository](https://github.com/php/php-src) and sending a
9629573269SPeter Kokotpull request.
9729573269SPeter Kokot
9829573269SPeter KokotDiscussions are done on GitHub, but depending on the topic can also be relayed
9929573269SPeter Kokotto the official PHP developer mailing list internals@lists.php.net.
10029573269SPeter Kokot
10129573269SPeter KokotNew features require an RFC and must be accepted by the developers. See
10229573269SPeter Kokot[Request for comments - RFC](https://wiki.php.net/rfc) and
10329573269SPeter Kokot[Voting on PHP features](https://wiki.php.net/rfc/voting) for more information
10429573269SPeter Kokoton the process.
10529573269SPeter Kokot
10629573269SPeter KokotBug fixes **do not** require an RFC but require a bug tracker ticket. Open a
10729573269SPeter Kokotticket at [bugs.php.net](https://bugs.php.net) and reference the bug id using
10829573269SPeter Kokot`#NNNNNN`.
10954d85308SDavid Soria Parra
11054d85308SDavid Soria Parra    Fix #55371: get_magic_quotes_gpc() throws deprecation warning
11154d85308SDavid Soria Parra
11229573269SPeter Kokot    After removing magic quotes, the get_magic_quotes_gpc function caused a
11329573269SPeter Kokot    deprecated warning. get_magic_quotes_gpc can be used to detect the
11429573269SPeter Kokot    magic_quotes behavior and therefore should not raise a warning at any time.
11529573269SPeter Kokot    The patch removes this warning.
11654d85308SDavid Soria Parra
11729573269SPeter KokotPull requests are not merged directly on GitHub. All PRs will be pulled and
11829573269SPeter Kokotpushed through [git.php.net](https://git.php.net). See
11929573269SPeter Kokot[Git workflow](https://wiki.php.net/vcs/gitworkflow) for more details.
120f8f643b4SHannes Magnusson
12129573269SPeter Kokot### Guidelines for contributors
122f8f643b4SHannes Magnusson
12329573269SPeter KokotSee further documents in the repository for more information on how to
12429573269SPeter Kokotcontribute:
12529573269SPeter Kokot
12629573269SPeter Kokot- [Contributing to PHP](/CONTRIBUTING.md)
127f45b61b8SPeter Kokot- [PHP coding standards](/CODING_STANDARDS.md)
1288346b4c9SPeter Kokot- [Mailinglist rules](/docs/mailinglist-rules.md)
1298346b4c9SPeter Kokot- [PHP release process](/docs/release-process.md)
1300e60b812SPeter Kokot
131092ebd03SPeter Kokot## Credits
132092ebd03SPeter Kokot
133092ebd03SPeter KokotFor the list of people who've put work into PHP, please see the
134092ebd03SPeter Kokot[PHP credits page](https://php.net/credits.php).