{"id":21,"date":"2024-12-04T19:29:07","date_gmt":"2024-12-04T19:29:07","guid":{"rendered":"https:\/\/technoblog.dev\/es\/?p=21"},"modified":"2024-12-26T00:23:05","modified_gmt":"2024-12-26T00:23:05","slug":"typo3-configurar-php-ini","status":"publish","type":"post","link":"https:\/\/technoblog.dev\/es\/2024\/12\/04\/typo3-configurar-php-ini\/","title":{"rendered":"TYPO3 Configurar php.ini"},"content":{"rendered":"<p>[et_pb_section fb_built=\u00bb1&#8243; _builder_version=\u00bb4.23&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_row _builder_version=\u00bb4.23&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_column type=\u00bb4_4&#8243; _builder_version=\u00bb4.23&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_text _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb text_font=\u00bbBarlow||||||||\u00bb text_font_size=\u00bb20px\u00bb text_orientation=\u00bbjustified\u00bb global_colors_info=\u00bb{}\u00bb]<\/p>\n<div class=\"et_pb_module et_pb_text et_pb_text_0 et_pb_text_align_justified et_pb_bg_layout_light\"><span class=\"HwtZe\" lang=\"es\"><span class=\"jCAhz ChMk0b\"><span class=\"ryNqvb\">Para poder funcionar bien<\/span><\/span><\/span>\u00a0<strong>Typo3 10<\/strong> <span class=\"HwtZe\" lang=\"es\"><span class=\"jCAhz ChMk0b\"><span class=\"ryNqvb\">necesita eso<\/span><\/span><\/span> <strong>php.ini<\/strong> <span class=\"HwtZe\" lang=\"es\"><span class=\"jCAhz ChMk0b\"><span class=\"ryNqvb\">est\u00e9 configurado correctamente y que se asignen valores espec\u00edficos teniendo en cuenta los solicitados por<\/span><\/span><\/span> <strong>Typo3 10<\/strong>, <span class=\"HwtZe\" lang=\"es\"><span class=\"jCAhz ChMk0b\"><span class=\"ryNqvb\">esto es para tener una configuraci\u00f3n que no genere errores ambientales dentro de ella<\/span><\/span><\/span> <strong>CMS<\/strong> <span class=\"HwtZe\" lang=\"es\"><span class=\"jCAhz ChMk0b\"><span class=\"ryNqvb\">ese nivel<\/span><\/span><\/span> <strong>Enterprise<\/strong> <span class=\"HwtZe\" lang=\"es\"><span class=\"jCAhz ChMk0b\"><span class=\"ryNqvb\">necesita altos recursos, a continuaci\u00f3n veremos cu\u00e1les son los rumores<\/span><\/span><\/span> <strong>php.ini<\/strong> <span class=\"HwtZe\" lang=\"es\"><span class=\"jCAhz ChMk0b\"><span class=\"ryNqvb\">cu\u00e1les deben cambiarse y qu\u00e9 valores deben establecerse.<\/span><\/span><\/span><\/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><span class=\"HwtZe\" lang=\"es\"><span class=\"jCAhz ChMk0b\"><span class=\"ryNqvb\">En php.ini, vaya a los l\u00edmites de recursos, es decir:<\/span><\/span><\/span><code class=\" language-ini\">Resource Limits<\/code> <span class=\"HwtZe\" lang=\"es\"><span class=\"jCAhz ChMk0b\"><span class=\"ryNqvb\">donde se fijan los recursos m\u00ednimos requeridos, los cuales son:<\/span><\/span><\/span> <code class=\" language-ini\">max_execution_time<\/code><span class=\"HwtZe\" lang=\"es\"><span class=\"jCAhz ChMk0b\"><span class=\"ryNqvb\">que debe tener un valor m\u00ednimo de 250 pero que en el siguiente ejemplo est\u00e1 establecido en 300,<\/span><\/span><\/span> <span class=\"HwtZe\" lang=\"es\"><span class=\"jCAhz ChMk0b\"><span class=\"ryNqvb\">el par\u00e1metro<\/span><\/span><\/span><code class=\" language-ini\">max_input_time<\/code> <span class=\"HwtZe\" lang=\"es\"><span class=\"jCAhz ChMk0b\"><span class=\"ryNqvb\">se puede dejar con el valor predeterminado que es 60<\/span><\/span><\/span>, <span class=\"HwtZe\" lang=\"es\"><span class=\"jCAhz ChMk0b\"><span class=\"ryNqvb\">luego est\u00e1 la configuraci\u00f3n<\/span><\/span><\/span> <code class=\" language-ini\">max_input_vars<\/code> <span class=\"HwtZe\" lang=\"es\"><span class=\"jCAhz ChMk0b\"><span class=\"ryNqvb\">cual es el predeterminado<\/span><\/span><\/span> <code class=\" language-ini\">1000<\/code>, <span class=\"HwtZe\" lang=\"es\"><span class=\"jCAhz ChMk0b\"><span class=\"ryNqvb\">pero eso debe establecerse en un valor m\u00ednimo de<\/span><\/span><\/span> <code class=\" language-ini\">1500<\/code> <span class=\"HwtZe\" lang=\"es\"><span class=\"jCAhz ChMk0b\"><span class=\"ryNqvb\">y que en el ejemplo se establece en un valor de<\/span><\/span><\/span> <code class=\" language-ini\">2000<\/code>, <span class=\"HwtZe\" lang=\"es\"><span class=\"jCAhz ChMk0b\"><span class=\"ryNqvb\">mientras que el valor<\/span><\/span><\/span> <code class=\" language-ini\">memory_limit<\/code> <span class=\"HwtZe\" lang=\"es\"><span class=\"jCAhz ChMk0b\"><span class=\"ryNqvb\">deber\u00eda ser m\u00ednimo<\/span><\/span><\/span> <code class=\" language-ini\">128M<\/code> <span class=\"HwtZe\" lang=\"es\"><span class=\"jCAhz ChMk0b\"><span class=\"ryNqvb\">y que en el siguiente ejemplo est\u00e1 configurado en<\/span><\/span><\/span> <code class=\" language-ini\">256M<\/code>.<\/p>\n<\/div>\n<\/div>\n<p>[\/et_pb_text][et_pb_text _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb]<\/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=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb text_font=\u00bbBarlow||||||||\u00bb text_font_size=\u00bb20px\u00bb text_orientation=\u00bbjustified\u00bb hover_enabled=\u00bb0&#8243; global_colors_info=\u00bb{}\u00bb sticky_enabled=\u00bb0&#8243;]<\/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=\u00bb4.23&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb]<\/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=\u00bbhttps:\/\/technoblog.dev\/es\/wp-content\/uploads\/sites\/4\/2023\/10\/6043a583-2500-442d-aefc-9adf885b63bf_out-1024&#215;640-1.jpg\u00bb title_text=\u00bb6043a583-2500-442d-aefc-9adf885b63bf_out-1024&#215;640&#8243; _builder_version=\u00bb4.23&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][\/et_pb_image][et_pb_text _builder_version=\u00bb4.23&#8243; _module_preset=\u00bbdefault\u00bb text_font=\u00bbBarlow||||||||\u00bb text_font_size=\u00bb20px\u00bb text_orientation=\u00bbjustified\u00bb global_colors_info=\u00bb{}\u00bb]<\/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=\u00bb4.23&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb]<\/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=\u00bb4.23&#8243; _module_preset=\u00bbdefault\u00bb text_font=\u00bbBarlow||||||||\u00bb text_font_size=\u00bb20px\u00bb text_orientation=\u00bbjustified\u00bb global_colors_info=\u00bb{}\u00bb]<\/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=\u00bb4.23&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb]<\/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=\u00bb4.23&#8243; _module_preset=\u00bbdefault\u00bb text_font=\u00bbBarlow||||||||\u00bb text_font_size=\u00bb20px\u00bb text_orientation=\u00bbjustified\u00bb global_colors_info=\u00bb{}\u00bb]<\/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=\u00bb4.23&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb]<\/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=\u00bb4.23&#8243; _module_preset=\u00bbdefault\u00bb text_font=\u00bbBarlow||||||||\u00bb text_font_size=\u00bb20px\u00bb text_orientation=\u00bbjustified\u00bb global_colors_info=\u00bb{}\u00bb]<\/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=\u00bbhttps:\/\/technoblog.dev\/es\/wp-content\/uploads\/sites\/4\/2023\/10\/d866f119-4628-45e2-8ca1-5e975d1fdd59_out-1024&#215;640-1.jpg\u00bb title_text=\u00bbd866f119-4628-45e2-8ca1-5e975d1fdd59_out-1024&#215;640&#8243; _builder_version=\u00bb4.23&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][\/et_pb_image][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Para poder funcionar bien\u00a0Typo3 10 necesita eso php.ini est\u00e9 configurado correctamente y que se asignen valores espec\u00edficos teniendo en cuenta los solicitados por Typo3 10, esto es para tener una configuraci\u00f3n que no genere errores ambientales dentro de ella CMS ese nivel Enterprise necesita altos recursos, a continuaci\u00f3n veremos cu\u00e1les son los rumores php.ini cu\u00e1les [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":30,"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-21","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ingenieria-de-sistemas","et-doesnt-have-format-content","et_post_format-et-post-format-standard"],"_links":{"self":[{"href":"https:\/\/technoblog.dev\/es\/wp-json\/wp\/v2\/posts\/21","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/technoblog.dev\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/technoblog.dev\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/technoblog.dev\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/technoblog.dev\/es\/wp-json\/wp\/v2\/comments?post=21"}],"version-history":[{"count":5,"href":"https:\/\/technoblog.dev\/es\/wp-json\/wp\/v2\/posts\/21\/revisions"}],"predecessor-version":[{"id":39,"href":"https:\/\/technoblog.dev\/es\/wp-json\/wp\/v2\/posts\/21\/revisions\/39"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/technoblog.dev\/es\/wp-json\/wp\/v2\/media\/30"}],"wp:attachment":[{"href":"https:\/\/technoblog.dev\/es\/wp-json\/wp\/v2\/media?parent=21"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/technoblog.dev\/es\/wp-json\/wp\/v2\/categories?post=21"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/technoblog.dev\/es\/wp-json\/wp\/v2\/tags?post=21"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}