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_time
che 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.cnf
che 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.
