In order to work well Typo3 10 needs php.ini to be configured correctly and specific values to be assigned taking into account those required by Typo3 10, this in order to have a configuration that does not generate environment errors within the same CMS that being of Enterprise level it needs high resources, below we will see which are the php.ini entries that need to be changed and which values need to be set.

In php.ini the resource limits must be set i.e .: Resource Limits where the minimum required resources are set which are: max_execution_time which must have a minimum value of 250 but which in the example below is set to 300, the max_input_time parameter can be left with the default value which is 60, then there is the max_input_vars setting which by default is 1000, but which should be set to a minimum value of 1500 and which in the example is set to a value of 2000, while the memory_limit value it should be at least 128M and that in the example below is set to 256M.

;;;;;;;;;;;;;;;;;;;
; Resource Limits ;
;;;;;;;;;;;;;;;;;;;

; Maximum execution time of each script, in seconds
; http://php.net/max-execution-time
; Note: This directive is hardcoded to 0 for the CLI SAPI
max_execution_time = 300

; Maximum amount of time each script may spend parsing request data. It's a good
; idea to limit this time on productions servers in order to eliminate unexpectedly
; long running scripts.
; Note: This directive is hardcoded to -1 for the CLI SAPI
; Default Value: -1 (Unlimited)
; Development Value: 60 (60 seconds)
; Production Value: 60 (60 seconds)
; http://php.net/max-input-time
max_input_time = 60

; Maximum input variable nesting level
; http://php.net/max-input-nesting-level
;max_input_nesting_level = 64

; How many GET/POST/COOKIE input variables may be accepted
max_input_vars = 2000

; Maximum amount of memory a script may consume
; http://php.net/memory-limit
memory_limit = 256M

In the example below the settings of the Data Handling section are shown there is the post_max_size item which must not have a too low value and the value of 32M can be considered a reasonable acceptable value and in any case should always be evaluated and in the worst it can be set the value 0 which does not set limits and which takes any value automatically.

The default character in this example is set correctly as follows: default_charset = “UTF-8“, but it must always be checked if the value is correct, as in the example below, this is the character set that must also be found for the tables on the Data Base, at the end of this article we will see how to set my.cnf, so that the Data Base is created with the right set of characters, that is: “UTF-8”.

;;;;;;;;;;;;;;;;;
; Data Handling ;
;;;;;;;;;;;;;;;;;


; Maximum size of POST data that PHP will accept.
; Its value may be 0 to disable the limit. It is ignored if POST data reading
; is disabled through enable_post_data_reading.
; http://php.net/post-max-size
post_max_size = 32M


; PHP's default character set is set to UTF-8.
; http://php.net/default-charset
default_charset = "UTF-8"

The File Uploads section usually has very low values it is not necessary to put very high values but those shown in the example below the upload_max_filesize = 32M value and the max_file_uploads = 20 value should be sufficient for Typo3 10 to work properly.

;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;

; Whether to allow HTTP file uploads.
; http://php.net/file-uploads
file_uploads = On

; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
; http://php.net/upload-tmp-dir
;upload_tmp_dir =

; Maximum allowed size for uploaded files.
; http://php.net/upload-max-filesize
upload_max_filesize = 32M

; Maximum number of files that can be uploaded via a single request
max_file_uploads = 20

As far as the [opcache] section is concerned, it must be enabled and as regards the values it must be said that opcache.memory_consumption must have a minimum value of 128 but in the example below the value is set to 256 while for what concerns opcache. interned_strings_buffer the default value is 64 this value does not need to be changed, finally speaking of the opcache.max_accelerated_files entry the default value is: 50000 but the minimum value required by Typo3 10 is: 100000 while in the example below the set value is: 150000 as you can see in the example below.

[opcache]
; Determines if Zend OPCache is enabled
opcache.enable=1


; The OPcache shared memory storage size.
opcache.memory_consumption=256


; The amount of memory for interned strings in Mbytes.
opcache.interned_strings_buffer=64


; The maximum number of keys (scripts) in the OPcache hash table.
; Only numbers between 200 and 1000000 are allowed.
opcache.max_accelerated_files=150000

Finally, let’s see how to configure the file that manages the creation of the Data Base and this will not only affect the Data Base created for Typo3 10, but it affects all the Data Bases that are created, the file to be modified is: /etc/my.cnf which can be modified with the nano editor with the command nano /etc/my.cnf or with another editor of your choice for example vi with the command vi /etc/my.cnf I prefer nano, if the settings were to be character-set- server = utf8mb4 and collation-server = utf8mb4_unicode_ci must be modified as in the example below with the value character-set-server = utf8 and the value collation-server = utf8_unicode_ci, otherwise Typo3 10 will give continuous errors within the Backend,

#
# include all files from the config directory
#
!includedir /etc/my.cnf.d

[client]
default-character-set = utf8

[mysql]
default-character-set = utf8

[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8
collation-server = utf8_unicode_ci

These settings are necessary for the correct functioning of Typo3 10, obviously on a shared hosting it is impossible to have all these settings correctly configured, so it is recommended to use a VPS or a Dedicated Server, where the required settings can all be configured correctly.