{"id":20,"date":"2023-10-22T12:38:03","date_gmt":"2023-10-22T12:38:03","guid":{"rendered":"https:\/\/technoblog.dev\/it\/?p=20"},"modified":"2025-09-03T13:00:30","modified_gmt":"2025-09-03T13:00:30","slug":"typo3-configurare-php-ini","status":"publish","type":"post","link":"https:\/\/technoblog.dev\/it\/2023\/10\/22\/typo3-configurare-php-ini\/","title":{"rendered":"TYPO3 Configurare php.ini"},"content":{"rendered":"<p>[et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.23&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_row _builder_version=&#8221;4.23&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.23&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_text _builder_version=&#8221;4.23&#8243; _module_preset=&#8221;default&#8221; text_font=&#8221;Barlow||||||||&#8221; text_font_size=&#8221;20px&#8221; text_orientation=&#8221;justified&#8221; hover_enabled=&#8221;0&#8243; global_colors_info=&#8221;{}&#8221; sticky_enabled=&#8221;0&#8243;]<\/p>\n<div class=\"et_pb_module et_pb_text et_pb_text_0  et_pb_text_align_justified et_pb_bg_layout_light\">\n<div class=\"et_pb_text_inner\">\n<p>Per poter funzionare bene <strong>Typo3 10<\/strong> ha bisogno che <strong>php.ini<\/strong> venga configurato correttamente e che specifici valori vengano assegnati tenendo conto di quelle richieste da <strong>Typo3 10<\/strong>, questo al fine di avere una configurazione che non generi errori d\u2019ambiente all\u2019interno dello stesso <strong>CMS<\/strong> che essendo di livello <strong>Enterprise<\/strong> ha bisogno di risorse elevate, di seguito vedremo quali sono le voci di <strong>php.ini<\/strong> che vanno modificate e quali valori devono essere impostati.<\/p>\n<\/div>\n<\/div>\n<div class=\"et_pb_module et_pb_text et_pb_text_1  et_pb_text_align_justified et_pb_bg_layout_light\">\n<div class=\"et_pb_text_inner\">\n<p>In php.ini vanno i <em>limiti delle risorse <\/em>cio\u00e8:<code class=\"  language-ini\">Resource Limits<\/code>\u00a0 dove vengono impostate le risorse minimi richieste che sono: <code class=\"  language-ini\">max_execution_time<\/code>che deve avere un valore minimo di <code class=\"  language-ini\">250<\/code> ma che nell\u2019esempio sottostante \u00e8 impostato a\u00a0<code class=\"  language-ini\">300<\/code>, il parametro\u00a0<code class=\"  language-ini\">max_input_time<\/code> pu\u00f2 essere lasciato con il valore di default che \u00e8\u00a0<code class=\"  language-ini\">60<\/code>, c\u2019\u00e8 poi l\u2019impostazione <code class=\"  language-ini\">max_input_vars<\/code> che di default \u00e8\u00a0<code class=\"  language-ini\">1000<\/code>, \u00a0ma che dovrebbe essere impostato ad un valore minimo di <code class=\"  language-ini\">1500<\/code> e che nell\u2019esempio e impostato ad un valore di <code class=\"  language-ini\">2000<\/code>, \u00a0mentre il valore <code class=\"  language-ini\">memory_limit<\/code> dovrebbe essere minimo <code class=\"  language-ini\">128M<\/code> e che nell\u2019esempio sottostante \u00e8 impostato a\u00a0<code class=\"  language-ini\">256M<\/code>.<\/p>\n<\/div>\n<\/div>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.23&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<pre class=\"line-numbers\" data-start=\"1\"><code class=\"language-ini\">;;;;;;;;;;;;;;;;;;;\n; Resource Limits ;\n;;;;;;;;;;;;;;;;;;;\n\n; Maximum execution time of each script, in seconds\n; http:\/\/php.net\/max-execution-time\n; Note: This directive is hardcoded to 0 for the CLI SAPI\nmax_execution_time = 300\n\n; Maximum amount of time each script may spend parsing request data. It's a good\n; idea to limit this time on productions servers in order to eliminate unexpectedly\n; long running scripts.\n; Note: This directive is hardcoded to -1 for the CLI SAPI\n; Default Value: -1 (Unlimited)\n; Development Value: 60 (60 seconds)\n; Production Value: 60 (60 seconds)\n; http:\/\/php.net\/max-input-time\nmax_input_time = 60\n\n; Maximum input variable nesting level\n; http:\/\/php.net\/max-input-nesting-level\n;max_input_nesting_level = 64\n\n; How many GET\/POST\/COOKIE input variables may be accepted\nmax_input_vars = 2000\n\n; Maximum amount of memory a script may consume\n; http:\/\/php.net\/memory-limit\nmemory_limit = 256M<\/code><\/pre>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.23&#8243; _module_preset=&#8221;default&#8221; text_font=&#8221;Barlow||||||||&#8221; text_font_size=&#8221;20px&#8221; text_orientation=&#8221;justified&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<div class=\"et_pb_module et_pb_text et_pb_text_3  et_pb_text_align_justified et_pb_bg_layout_light\">\n<div class=\"et_pb_text_inner\">\n<p>Nell\u2019esempio sottostante vengono mostrate le impostazioni della sezione <code class=\"  language-ini\">Data Handling<\/code> c\u2019\u00e8 la voce <code class=\"  language-ini\">post_max_size<\/code> che non deve avere un valore troppo basso ed il valore di <code class=\"  language-ini\">32M<\/code> pu\u00f2 essere considerato un valore congruo accettabile e comunque andrebbe sempre valutato e nella peggiore delle ipotesi si pu\u00f2 impostare il valore <code class=\"  language-ini\">0<\/code> che non pone limiti e che prende qualsiasi si valore in automatico.<\/p>\n<p>Il carattere di default in questo esempio \u00e8 impostato correttamente come di seguito: <code class=\"  language-ini\"><span class=\"token constant\">default_charset<\/span> <span class=\"token attr-value\"><span class=\"token punctuation\">=<\/span> \"UTF-8\"<\/span><\/code>, ma va sempre controllato se il valore \u00e8 corretto, come per l\u2019esempio sottostante, questo \u00e8 il set di caratteri che deve trovarsi anche per le tabelle sul Data Base, alla fine di questo articolo vedremo come impostare <strong>my.cnf<\/strong>, affinch\u00e9 si crei il Data Base con il giusto set di caratteri cio\u00e8: <code class=\"  language-ini\">\"UTF-8\"<\/code>.<\/p>\n<\/div>\n<\/div>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.23&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<pre class=\"line-numbers\" data-start=\"1\"><code class=\"language-ini\">;;;;;;;;;;;;;;;;;\n; Data Handling ;\n;;;;;;;;;;;;;;;;;\n\n\n; Maximum size of POST data that PHP will accept.\n; Its value may be 0 to disable the limit. It is ignored if POST data reading\n; is disabled through enable_post_data_reading.\n; http:\/\/php.net\/post-max-size\npost_max_size = 32M\n\n\n; PHP's default character set is set to UTF-8.\n; http:\/\/php.net\/default-charset\ndefault_charset = \"UTF-8\"<\/code><\/pre>\n<p>[\/et_pb_text][et_pb_image src=&#8221;https:\/\/technoblog.dev\/it\/wp-content\/uploads\/sites\/2\/2023\/10\/6043a583-2500-442d-aefc-9adf885b63bf_out-1024&#215;640-1.jpg&#8221; title_text=&#8221;6043a583-2500-442d-aefc-9adf885b63bf_out-1024&#215;640&#8243; _builder_version=&#8221;4.23&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_image][et_pb_text _builder_version=&#8221;4.23&#8243; _module_preset=&#8221;default&#8221; text_font=&#8221;Barlow||||||||&#8221; text_font_size=&#8221;20px&#8221; text_orientation=&#8221;justified&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<p>La sezione <code class=\"  language-ini\">File Uploads<\/code> di solito ha valori molto bassi non \u00e8 necessario mettere valori molto alti ma quelli che si vedono nell\u2019esempio sottostante il valore\u00a0<code class=\"  language-ini\"><span class=\"token constant\">upload_max_filesize<\/span> <span class=\"token attr-value\"><span class=\"token punctuation\">=<\/span> 32M<\/span><\/code> ed il valore\u00a0<code class=\"  language-ini\"><span class=\"token constant\">max_file_uploads<\/span> <span class=\"token attr-value\"><span class=\"token punctuation\">=<\/span> 20<\/span><\/code> dovrebbero essere sufficienti per un corretto funzionamento di Typo3 10.<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.23&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<pre class=\"line-numbers\" data-start=\"1\"><code class=\"language-ini\">;;;;;;;;;;;;;;;;\n; File Uploads ;\n;;;;;;;;;;;;;;;;\n\n; Whether to allow HTTP file uploads.\n; http:\/\/php.net\/file-uploads\nfile_uploads = On\n\n; Temporary directory for HTTP uploaded files (will use system default if not\n; specified).\n; http:\/\/php.net\/upload-tmp-dir\n;upload_tmp_dir =\n\n; Maximum allowed size for uploaded files.\n; http:\/\/php.net\/upload-max-filesize\nupload_max_filesize = 32M\n\n; Maximum number of files that can be uploaded via a single request\nmax_file_uploads = 20<\/code><\/pre>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.23&#8243; _module_preset=&#8221;default&#8221; text_font=&#8221;Barlow||||||||&#8221; text_font_size=&#8221;20px&#8221; text_orientation=&#8221;justified&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<p>Per quel che riguarda la sezione<code class=\"  language-ini\"><span class=\"token selector\">[opcache]<\/span><\/code> deve essere abilitata e per questo che riguarda i valori bisogna dire che <code class=\"  language-ini\">opcache.memory_consumption<\/code> deve avere un valore minimo di0 <code class=\"  language-ini\">128<\/code> ma nell\u2019esempio sottostante il valore \u00e8 impostato a\u00a0<code class=\"  language-ini\">256<\/code>\u00a0mentre per quel che riguarda <code class=\"  language-ini\">opcache.interned_strings_buffer<\/code> il valore di default \u00e8\u00a0<code class=\"  language-ini\">64<\/code> questo valore non ha bisogno di essere cambiato, infine parlando del la voce <code class=\"  language-ini\">opcache.max_accelerated_files<\/code>\u00a0il valore di default \u00e8:\u00a0<code class=\"  language-ini\">50000<\/code> ma il valore minimo richiesto da Typo3 10 \u00e8:\u00a0<code class=\"  language-ini\">100000<\/code>\u00a0 mentre nell\u2019esempio sottostante il valore impostato \u00e8: <code class=\"  language-ini\">150000<\/code> come potete vedere nell\u2019esempio sottostante.<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.23&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<pre class=\"line-numbers\" data-start=\"1\"><code class=\"language-ini\">[opcache]\n; Determines if Zend OPCache is enabled\nopcache.enable=1\n\n\n; The OPcache shared memory storage size.\nopcache.memory_consumption=256\n\n\n; The amount of memory for interned strings in Mbytes.\nopcache.interned_strings_buffer=64\n\n\n; The maximum number of keys (scripts) in the OPcache hash table.\n; Only numbers between 200 and 1000000 are allowed.\nopcache.max_accelerated_files=150000<\/code><\/pre>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.23&#8243; _module_preset=&#8221;default&#8221; text_font=&#8221;Barlow||||||||&#8221; text_font_size=&#8221;20px&#8221; text_orientation=&#8221;justified&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<p>Infine vediamo come configurare il file che gestisce la creazione del Data Base e questo non influir\u00e0 solo sul Data Base creato per Typo3 10, ma influisce su tutti i Data Base che vengono creati, il file da modificare \u00e8: <code class=\"  language-apacheconf\">\/etc\/my.cnf<\/code>che pu\u00f2 essere modificato con l\u2019editor nano con il comando <code class=\"  language-apacheconf\">nano \/etc\/my.cnf<\/code> o con altro editor di vostra scelta per esempio vi con il comando <code class=\"  language-apacheconf\">vi \/etc\/my.cnf<\/code> io preferisco \u00a0nano, se le impostazioni dovessero essere <code class=\"  language-apacheconf\">character-set-server = utf8mb4<\/code> ed\u00a0<code class=\"  language-apacheconf\"> collation-server = utf8mb4_unicode_ci <\/code>vanno modificate come nel esempio sottostante con il valore <code class=\"  language-apacheconf\">character-set-server = utf8<\/code> ed il valore <code class=\"  language-apacheconf\">collation-server = utf8_unicode_ci,<\/code>\u00a0diversamente Typo3 10 dara errori continui all\u2019interno del Backend,<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.23&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<pre class=\"line-numbers\" data-start=\"1\"><code class=\"language-ini\">#\n# include all files from the config directory\n#\n!includedir \/etc\/my.cnf.d\n\n[client]\ndefault-character-set = utf8\n\n[mysql]\ndefault-character-set = utf8\n\n[mysqld]\ncharacter-set-client-handshake = FALSE\ncharacter-set-server = utf8\ncollation-server = utf8_unicode_ci<\/code><\/pre>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.23&#8243; _module_preset=&#8221;default&#8221; text_font=&#8221;Barlow||||||||&#8221; text_font_size=&#8221;20px&#8221; text_orientation=&#8221;justified&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<p>Queste impostazioni sono necessari per il corretto funzionamento di Typo3 10, ovviamente su un hosting condiviso \u00e8 impossibile avere tutte queste impostazioni correttamente configurate, per cui \u00e8 consigliato l\u2019utilizzo di un VPS o di un Server Dedicato, dove le impostazioni richieste possono essere configurate tutte correttamente.<\/p>\n<p>[\/et_pb_text][et_pb_image src=&#8221;https:\/\/technoblog.dev\/it\/wp-content\/uploads\/sites\/2\/2023\/10\/d866f119-4628-45e2-8ca1-5e975d1fdd59_out-1024&#215;640-1.jpg&#8221; title_text=&#8221;d866f119-4628-45e2-8ca1-5e975d1fdd59_out-1024&#215;640&#8243; _builder_version=&#8221;4.23&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_image][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>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\u2019ambiente all\u2019interno dello stesso CMS che essendo di livello Enterprise ha bisogno di risorse elevate, di seguito [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":53,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"categories":[4],"tags":[],"class_list":["post-20","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-sistemistica","et-doesnt-have-format-content","et_post_format-et-post-format-standard"],"_links":{"self":[{"href":"https:\/\/technoblog.dev\/it\/wp-json\/wp\/v2\/posts\/20","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/technoblog.dev\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/technoblog.dev\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/technoblog.dev\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/technoblog.dev\/it\/wp-json\/wp\/v2\/comments?post=20"}],"version-history":[{"count":4,"href":"https:\/\/technoblog.dev\/it\/wp-json\/wp\/v2\/posts\/20\/revisions"}],"predecessor-version":[{"id":87,"href":"https:\/\/technoblog.dev\/it\/wp-json\/wp\/v2\/posts\/20\/revisions\/87"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/technoblog.dev\/it\/wp-json\/wp\/v2\/media\/53"}],"wp:attachment":[{"href":"https:\/\/technoblog.dev\/it\/wp-json\/wp\/v2\/media?parent=20"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/technoblog.dev\/it\/wp-json\/wp\/v2\/categories?post=20"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/technoblog.dev\/it\/wp-json\/wp\/v2\/tags?post=20"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}