Per poter funzionare bene Typo3 10 ha bisogno che php.ini venga configurato correttamente e che specifici valori vengano assegnati tenendo conto di quelle richieste da Typo3 10, questo al fine di avere una configurazione che non generi errori d’ambiente all’interno dello stesso CMS che essendo di livello Enterprise ha bisogno di risorse elevate, di seguito vedremo quali sono le voci di php.ini che vanno modificate e quali valori devono essere impostati.

In php.ini vanno i limiti delle risorse cioè:Resource Limits  dove vengono impostate le risorse minimi richieste che sono: max_execution_timeche deve avere un valore minimo di 250 ma che nell’esempio sottostante è impostato a 300, il parametro max_input_time può essere lasciato con il valore di default che è 60, c’è poi l’impostazione max_input_vars che di default è 1000,  ma che dovrebbe essere impostato ad un valore minimo di 1500 e che nell’esempio e impostato ad un valore di 2000,  mentre il valore memory_limit dovrebbe essere minimo 128M e che nell’esempio sottostante è impostato a 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

Nell’esempio sottostante vengono mostrate le impostazioni della sezione Data Handling c’è la voce post_max_size che non deve avere un valore troppo basso ed il valore di 32M può essere considerato un valore congruo accettabile e comunque andrebbe sempre valutato e nella peggiore delle ipotesi si può impostare il valore 0 che non pone limiti e che prende qualsiasi si valore in automatico.

Il carattere di default in questo esempio è impostato correttamente come di seguito: default_charset = "UTF-8", ma va sempre controllato se il valore è corretto, come per l’esempio sottostante, questo è il set di caratteri che deve trovarsi anche per le tabelle sul Data Base, alla fine di questo articolo vedremo come impostare my.cnf, affinché si crei il Data Base con il giusto set di caratteri cioè: "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"

La sezione File Uploads di solito ha valori molto bassi non è necessario mettere valori molto alti ma quelli che si vedono nell’esempio sottostante il valore upload_max_filesize = 32M ed il valore max_file_uploads = 20 dovrebbero essere sufficienti per un corretto funzionamento di Typo3 10.

;;;;;;;;;;;;;;;;
; 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

Per quel che riguarda la sezione[opcache] deve essere abilitata e per questo che riguarda i valori bisogna dire che opcache.memory_consumption deve avere un valore minimo di0 128 ma nell’esempio sottostante il valore è impostato a 256 mentre per quel che riguarda opcache.interned_strings_buffer il valore di default è 64 questo valore non ha bisogno di essere cambiato, infine parlando del la voce opcache.max_accelerated_files il valore di default è: 50000 ma il valore minimo richiesto da Typo3 10 è: 100000  mentre nell’esempio sottostante il valore impostato è: 150000 come potete vedere nell’esempio sottostante.

[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

Infine vediamo come configurare il file che gestisce la creazione del Data Base e questo non influirà solo sul Data Base creato per Typo3 10, ma influisce su tutti i Data Base che vengono creati, il file da modificare è: /etc/my.cnfche può essere modificato con l’editor nano con il comando nano /etc/my.cnf o con altro editor di vostra scelta per esempio vi con il comando vi /etc/my.cnf io preferisco  nano, se le impostazioni dovessero essere character-set-server = utf8mb4 ed  collation-server = utf8mb4_unicode_ci vanno modificate come nel esempio sottostante con il valore character-set-server = utf8 ed il valore collation-server = utf8_unicode_ci, diversamente Typo3 10 dara errori continui all’interno del 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

Queste impostazioni sono necessari per il corretto funzionamento di Typo3 10, ovviamente su un hosting condiviso è impossibile avere tutte queste impostazioni correttamente configurate, per cui è consigliato l’utilizzo di un VPS o di un Server Dedicato, dove le impostazioni richieste possono essere configurate tutte correttamente.