diff --git a/reference/requirements.rst b/reference/requirements.rst index 620d02e771b..aee434ed454 100644 --- a/reference/requirements.rst +++ b/reference/requirements.rst @@ -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.