Skip to content
This repository was archived by the owner on Oct 28, 2024. It is now read-only.

[FEATURE] #93631 - Support for PHP 8.0 #227

Merged
merged 1 commit into from
Jul 3, 2021
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
193 changes: 94 additions & 99 deletions Documentation/In-depth/SystemRequirements/Index.rst
Original file line number Diff line number Diff line change
@@ -1,31 +1,35 @@
.. include:: ../../Includes.txt


.. _system-requirements:

===================
System Requirements
System requirements
===================

.. note::
The system requirements listed here are for the the current master version
of TYPO3. Please head over to :ref:`version 10.4 of the guide
<ltst3install:system-requirements>` for information
regarding the system requirements of TYPO3 version 10.4.

TYPO3 requires a web server, PHP and a database system.

* TYPO3 requires a **web server** which can run PHP (Apache httpd, Nginx,
Microsoft IIS, Caddy Server).
If you use an Apache web server, some module (e.g. mod_rewrite) must be activated.
See :ref:`system-requirements-webserver` for details.
* TYPO3 requires a **web server** which can run PHP (Apache httpd, Nginx,
Microsoft IIS, Caddy Server).
If you use an Apache web server, some module (for example mod_rewrite) must be activated.
See :ref:`system-requirements-webserver` for details.

* TYPO3 10 requires **PHP >= 7.2 <= 7.4** (Mac users: see warning at the end of this document).
For PHP, several PHP extensions are necessary, others recommended. You possibly want to
adjust the memory limit. See :ref:`system-requirements-php`.
* The current master of TYPO3 requires **PHP >= 7.4 <= 8.0**.
For PHP, several PHP extensions are necessary, others recommended. You
possibly want to adjust the memory limit. See :ref:`system-requirements-php`.

* TYPO3 can be used with many **database** systems (MariaDB >= 10.2 <= 10.3,
Microsoft SQL Server, MySQL 5.5+, PostgreSQL, SQLite).
See :ref:`system-requirements-database` on this page for details.
* TYPO3 can be used with many **database** systems (MariaDB >= 10.2 <= 10.3,
Microsoft SQL Server, MySQL 5.5+, PostgreSQL, SQLite).
See :ref:`system-requirements-database` on this page for details.

* If you want TYPO3 to automatically carry out **image processing** – for example
scaling or cropping – you will need GraphicsMagick (version 1.3 or newer) or
ImageMagick (version 6 or
newer) installed on the server. (GraphicsMagick should be preferred.)
* If you want TYPO3 to automatically carry out **image processing** – for example
scaling or cropping – you will need GraphicsMagick (version 1.3 or newer) or
ImageMagick (version 6 or
newer) installed on the server. (GraphicsMagick should be preferred.)

For an overview see also `get.typo3.org
<https://get.typo3.org/version/11#system-requirements>`_.
@@ -34,85 +38,85 @@ Should you encounter problems, the ":ref:`troubleshooting`" chapter will help.

.. _system-requirements-database:

Database Environment
Database environment
====================

TYPO3 works with database management systems in the above mentioned versions.
The InnoDB engine is required to be enabled in MySQL.


Required Database Privileges
Required database privileges
----------------------------

The database user needs at least the following privileges on the TYPO3
database:

* SELECT, INSERT, UPDATE, DELETE
* SELECT, INSERT, UPDATE, DELETE

* CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES
* CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES

It is recommended to also grant the following privileges:

* CREATE VIEW, SHOW VIEW
* CREATE VIEW, SHOW VIEW

* EXECUTE, CREATE ROUTINE, ALTER ROUTINE
* EXECUTE, CREATE ROUTINE, ALTER ROUTINE


.. _system-requirements-webserver:

Web Server Environment
Web server environment
======================

.. _system-requirements-apache:

Apache
------

* Make sure `AllowOverride <https://httpd.apache.org/docs/current/mod/core.html#allowoverride>`__
in the webserver configuration includes "Indexes" and "FileInfo" if you use Apache as
webserver and override the default configuration with :file:`.htaccess` (as done by default).
* Make sure `AllowOverride <https://httpd.apache.org/docs/current/mod/core.html#allowoverride>`__
in the webserver configuration includes "Indexes" and "FileInfo" if you use Apache as
webserver and override the default configuration with :file:`.htaccess` (as done by default).

* Enable Apache modules (see :ref:`enable-necessary-modules` in the Troubleshooting
section). The following modules are used by the default :file:`.htaccess`:
* Enable Apache modules (see :ref:`enable-necessary-modules` in the Troubleshooting
section). The following modules are used by the default :file:`.htaccess`:

mod_alias:
Block access to vcs directories
(strongly recommended for security reasons).
Block access to vcs directories
(strongly recommended for security reasons).

mod_authz_core:
Block access to specific files and directories
(strongly recommended for security reasons).
Block access to specific files and directories
(strongly recommended for security reasons).

mod_autoindex:
Used for disabling directory listings
(strongly recommended for security reasons).
Used for disabling directory listings
(strongly recommended for security reasons).

mod_deflate:
Used for compression, better performance.
Used for compression, better performance.

mod_expires:
Adds HTTP headers for browser caching and better
performance
Adds HTTP headers for browser caching and better
performance

mod_filter:
Used with mod_deflate. For Apache versions below
version 2.3.7 you don't need to enable `mod_filter`.
Used with mod_deflate. For Apache versions below
version 2.3.7 you don't need to enable `mod_filter`.

mod_headers:
Used in combination with `mod_deflate`.
Used in combination with `mod_deflate`.

mod_rewrite:
Enable human readable urls.
Enable human readable urls.

mod_setenvif:
Also used with `mod_deflate`.
Also used with `mod_deflate`.

.. important::

If the modules are not active, the corresponding directives in :file:`.htaccess` will
not be activated (due to the `<IfModule` conditions). This leaves you with a system,
which is less secure, slower and / or where some things will simply not work
(e.g. URL rewriting due to missing `mod_rewrite`).
If the modules are not active, the corresponding directives in :file:`.htaccess` will
not be activated (due to the `<IfModule` conditions). This leaves you with a system,
which is less secure, slower and / or where some things will simply not work
(for example URL rewriting due to missing `mod_rewrite`).

.. tip::

@@ -122,26 +126,26 @@ mod_setenvif:
may have directives in the .htaccess file so do not necessarily expect :file:`.htaccess`
to contain a complete list of modules.

* During the installation process (first install) the default :file:`.htaccess` file is
copied to the document root folder of the project, if the file does not exist already.
* During the installation process (first install) the default :file:`.htaccess` file is
copied to the document root folder of the project, if the file does not exist already.


Microsoft Internet Information Services (IIS)
---------------------------------------------

* During the installation process (first install) the default IIS web config file is
copied to the document root folder of the project, if the file does not exist already.
* During the installation process (first install) the default IIS web config file is
copied to the document root folder of the project, if the file does not exist already.

* Default IIS web config file with rewrite rules can be found in
:file:`EXT:install/Resources/Private/FolderStructureTemplateFiles/root-web-config`
* Default IIS web config file with rewrite rules can be found in
:file:`EXT:install/Resources/Private/FolderStructureTemplateFiles/root-web-config`

* Make sure that the `URL Rewrite plugin <https://www.iis.net/downloads/microsoft/url-rewrite>`__ is installed on your system.
* Make sure that the `URL Rewrite plugin <https://www.iis.net/downloads/microsoft/url-rewrite>`__ is installed on your system.

NGINX
-----

* NGINX web server does not support any static file like htaccess in the document root by default.
The NGINX configuration has to be setup manually.
* NGINX web server does not support any static file like htaccess in the document root by default.
The NGINX configuration has to be setup manually.

Example Configuration:

@@ -246,57 +250,48 @@ Example Configuration:
.. _system-requirements-php:

PHP Environment
PHP environment
---------------

* memory_limit set to at least 256M recommended
* :php:`memory_limit` set to at least 256M recommended

* max_execution_time set to at least 30 (240 seconds recommended)
* :php:`max_execution_time` set to at least 30 (240 seconds recommended)

* max_input_vars set to at least 1500
* :php:`max_input_vars set` to at least 1500


PHP Required Extensions
PHP required extensions
~~~~~~~~~~~~~~~~~~~~~~~

Your PHP needs to support the following extensions. Install will check if these
are available.

* These are usually part of the standard PHP package on most distributions and
are mandatory for a proper function:

* PDO
* json
* pcre >= 8.38 (Mac users: see warning a the end of this document)
* session
* xml
* filter
* hash
* SPL
* standard

* These are optional but highly recommended:

* mbstring

* These might have to be installed separately:

* fileinfo
* gd
* zip
* zlib
* openssl
* intl
* mysqli (if you use MySQL, MariaDB as DBMS)
* postgresql (if you use PostgreSQL as DBMS)
* sqlsrv (if you use SQL Server as DBMS)
* sqlite (if you use SQLite as DBMS)

.. warning::

With **PHP 7.3** in combination with **macOS** 10.13.6 (and probably also 10.14 - unconfirmed)
pcre causes problems with brew as well as native or MAMP installations. It is
recommended to use PHP 7.2. More information can be found here:

* `Not working after upgrading to 7.3 <https://github.com/bobthecow/psysh/issues/540>`_
* `Bug #77260 preg_match_all(): JIT compilation failed: no more memory <https://bugs.php.net/bug.php?id=77260>`_
* These are usually part of the standard PHP package on most distributions and
are mandatory for a proper function:

* PDO
* json
* pcre >= 8.38
* session
* xml
* filter
* hash
* SPL
* standard

* These are optional but highly recommended:

* mbstring

* These might have to be installed separately:

* fileinfo
* gd
* zip
* zlib
* openssl
* intl
* mysqli (if you use MySQL, MariaDB as DBMS)
* postgresql (if you use PostgreSQL as DBMS)
* sqlsrv (if you use SQL Server as DBMS)
* sqlite (if you use SQLite as DBMS)
3 changes: 3 additions & 0 deletions Documentation/Settings.cfg
Original file line number Diff line number Diff line change
@@ -58,3 +58,6 @@ h2document = https://docs.typo3.org/m/typo3/docs-how-to-document/master/en-us
t3core = https://docs.typo3.org/c/typo3/cms-core/master/en-us/
t3coreapi = https://docs.typo3.org/m/typo3/reference-coreapi/master/en-us/
t3start = https://docs.typo3.org/m/typo3/tutorial-getting-started/master/en-us/

; point to the manual of the current LTS where necessary
ltst3install = https://docs.typo3.org/m/typo3/guide-installation/10.4/en-us/