Skip to content

Updated the Requirements article for Symfony 4.0 #8198

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jul 20, 2017
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 22 additions & 36 deletions reference/requirements.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,50 +6,36 @@
Requirements for Running Symfony
================================

To run Symfony, your system needs to adhere to a list of requirements. You
can easily see if your system passes all requirements by running the
``web/config.php`` in your Symfony distribution. Since the CLI often uses
a different ``php.ini`` configuration file, it's also a good idea to check
your requirements from the command line via:
Symfony 4.0 requires **PHP 7.1.3** or higher to run, in addition to other minor
requirements. To make things simple, Symfony provides a tool to quickly check if
your system meets all those requirements. Run this command to install the tool:

.. code-block:: terminal

$ php bin/symfony_requirements
$ cd your-project/
$ composer require requirements-checker

Below is the list of required and optional requirements.
Beware that PHP can define a different configuration for the command console and
the web server, so you need to check requirements in both environments.

Required
--------
Checking Requirements for the Web Server
----------------------------------------

* PHP needs to be a minimum version of PHP 5.5.9
* `JSON extension`_ needs to be enabled
* `ctype extension`_ needs to be enabled
* Your ``php.ini`` needs to have the ``date.timezone`` setting
The requirements checker tool creates a file called ``check.php`` in the
``public/`` directory of your project. Open that file with your browser to check
the requirements.

Optional
--------
Once you've fixed all the reported issues, uninstall the requirements checker
to avoid leaking internal information about your application to visitors:

* You need to have the PHP-XML module installed
* You need to have at least version 2.6.21 of libxml
* PHP tokenizer needs to be enabled
* mbstring functions need to be enabled
* iconv needs to be enabled
* POSIX needs to be enabled (only on \*nix)
* Intl needs to be installed with ICU 4+
* APC 3.0.17+ (or another opcode cache needs to be installed)
* ``php.ini`` recommended settings

* ``short_open_tag = Off``
* ``magic_quotes_gpc = Off``
* ``register_globals = Off``
* ``session.auto_start = Off``
.. code-block:: terminal

Doctrine
--------
$ cd your-project/
$ composer remove requirements-checker

If you want to use Doctrine, you will need to have PDO installed. Additionally,
you need to have the PDO driver installed for the database server you want
to use.
Checking Requirements for the Command Console
---------------------------------------------

.. _`JSON extension`: https://php.net/manual/book.json.php
.. _`ctype extension`: https://php.net/manual/book.ctype.php
The requirements checker tool adds a script to your Composer configuration to
check the requirements automatically. There's no need to execute any command; if
there is any issue, you'll see them in the console output.