Este php memory limit același lucru ca physical memory usage? (PHP memory limit vs Physical Memory Usage).Nu, limita de memorie PHP și utilizarea memoriei fizice nu sunt aceleași când vorbim despre un pachet de găzduire web shared.
Cuprins
Diferența dintre php memory limit și physical memory usage
- Limita de memorie PHP este cantitatea maximă de memorie pe care o poate folosi un script PHP. Este setat în fișierul de configurare PHP: php.ini. Limita implicită de memorie PHP este de 32 MB, dar aceasta poate fi mărită de furnizorul de găzduire web.
- Utilizarea memoriei fizice este cantitatea totală de memorie disponibilă pe serverul web. Aceasta include memoria folosită de PHP, Apache, MySQL și alte procese care rulează pe server.
Când un script PHP depășește limita de memorie, se va bloca. Acest lucru se poate întâmpla dacă scriptul este scris prost sau dacă încearcă să proceseze o cantitate mare de date.
Dacă întâmpinați erori legate de limita de memorie PHP, puteți încerca să creșteți limita de memorie PHP în php.ini. Cu toate acestea, dacă utilizarea memoriei fizice pe server este scăzută, creșterea limitei de memorie PHP poate să nu ajute. În acest caz, poate fi necesar să vă optimizați scripturile PHP pentru a utiliza mai puțină memorie.
De asemenea, puteți încerca să utilizați un alt furnizor de găzduire web care oferă mai multă memorie fizică.
Iată câteva sfaturi pentru optimizarea scripturilor PHP pentru a utiliza mai puțină memorie:
- Evitați să utilizați cantități mari de date în scripturi.
- Utilizați memoria cache pentru a stoca în memorie datele accesate frecvent.
- Optimizați interogările bazei de date.
- Puteti utiliza Redis sau Memcached.
- Utilizați o rețea de livrare a conținutului (CDN) pentru a difuza conținut static.
Urmând aceste sfaturi, puteți reduce cantitatea de memorie folosită de scripturile PHP și evita erorile legate de limita de memorie PHP.
Exemplu de configurare php.ini
Exemplu de php.ini
fișier de bază pe care îl puteți folosi ca punct de plecare:
; PHP Configuration File
; Increase maximum execution time
max_execution_time = 60
; Increase maximum file upload size
upload_max_filesize = 64M
; Increase maximum POST size
post_max_size = 64M
; Increase memory limit
memory_limit = 128M
; Enable error reporting
display_errors = On
error_reporting = E_ALL
; Disable PHP functions for security reasons (optional)
disable_functions = exec, shell_exec, system, passthru
Pentru a utiliza acest php.ini
fișier pe un server partajat cu WordPress instalat, urmați acești pași:
- Deschideți un editor de text și inserați configurația de mai sus într-un fișier nou.
- Salvați fișierul ca
php.ini
. - Conectați-vă la serverul partajat folosind FTP sau un manager de fișiere furnizat de furnizorul de găzduire.
- Găsiți directorul rădăcină al instalării WordPress. Acesta este de obicei directorul în care vedeți fișiere precum
wp-config.php
,wp-admin
, șiwp-content
. - Încărcați
php.ini
fișierul în directorul rădăcină al instalării WordPress. - Verificați dacă
php.ini
fișierul este în locația corectă accesând un fișier PHP din instalația WordPress care conține funcțiaphpinfo()
. De exemplu, puteți crea un fișier nou numitinfo.php
cu următorul conținut:
<?php phpinfo();
- Salvați
info.php
fișierul și încărcați-l în directorul rădăcină WordPress. - Accesați
info.php
fișierul în browserul web vizitândhttp://domeniu.ro/info.php
(înlocuiește „domeniu.ro” cu domeniul tău actual). - Căutați secțiunea „Fișier de configurare încărcat” de pe
info.php
pagină. Ar trebui să afișeze calea cătrephp.ini
fișierul pe care l-ați încărcat. - Dacă calea afișată este corectă, ați adăugat cu succes fișierul
php.ini
pe serverul partajat.
Rețineți că nu toți furnizorii de găzduire partajată vă permit să înlocuiți setările PHP folosind un fișier personalizat php.ini. Unii furnizori de hosting au metode sau interfețe specifice pentru modificarea setărilor PHP. În astfel de cazuri, cel mai bine este să consultați documentația furnizorului de găzduire sau să contactați asistența acestuia pentru asistență.
În acest exemplu, memory_limit
este setat la 128M
, ceea ce înseamnă că cantitatea maximă de memorie pe care o poate folosi un script PHP este de 128 de megaocteți. Simțiți-vă liber să ajustați valoarea în funcție de cerințele pe care le aveți si de limitele de la furnizor.
Urmați instrucțiunile anterioare pentru a încărca acest php.ini
fișier în directorul rădăcină al instalării WordPress pe serverul partajat. Nu uitați să verificați secțiunea „Fișier de configurare încărcat” din rezultat phpinfo()
pentru a confirma că php.ini
fișierul este recunoscut și aplicat corect.
Exemplu 2 de fișier php.ini pe care îl puteți folosi pe un server shared cu WordPress instalat:
[PHP]
memory_limit = 128M
post_max_size = 32M
upload_max_filesize = 20M
max_execution_time = 300
max_input_time = 60
display_errors = On
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT
[Session]
session.name = PHPSESSID
session.gc_maxlifetime = 1440
session.gc_divisor = 100
session.gc_probability = 1
session.save_path = /tmp
[Opcache]
opcache.enabled = 1
opcache.memory_consumption = 128M
opcache.interned_strings_buffer = 8M
opcache.max_accelerated_files = 10000
opcache.revalidate_freq = 2
opcache.fast_shutdown = 1
Puteți pune acest fișier în directorul rădăcină al instalării WordPress.
Iată câteva dintre setările pe care poate doriți să le modificați:
- memory_limit: Această setare determină cantitatea maximă de memorie pe care o poate folosi un script PHP. Dacă întâmpinați erori de limita de memorie PHP, vă recomandăm să măriți această setare.
- post_max_size: această setare determină dimensiunea maximă a unei postări care poate fi încărcată pe site-ul WordPress. Dacă întâmpinați probleme la încărcarea fișierelor mari, vă recomandăm să măriți această setare.
- upload_max_filesize: Această setare determină dimensiunea maximă a unui fișier care poate fi încărcat pe site-ul WordPress. Dacă întâmpinați probleme la încărcarea fișierelor mari, vă recomandăm să măriți această setare.
- max_execution_time: Această setare determină perioada maximă de timp în care poate rula un script PHP înainte de a fi anulat. Dacă întâmpinați erori de timeout PHP, vă recomandăm să măriți această setare.
- max_input_time: Această setare determină timpul maxim pe care PHP îl poate petrece citind intrarea înainte de a fi anulată. Dacă întâmpinați erori PHP timeout, vă recomandăm să măriți această setare.
Este important să rețineți că acestea sunt doar câteva setări generale care pot funcționa pentru majoritatea site-urilor WordPress. Poate fi necesar să ajustați aceste setări în funcție de nevoile dumneavoastră specifice.
Dacă nu sunteți sigur cum să modificați aceste setări, puteți consulta documentația furnizorului de găzduire web. Ar trebui să vă poată oferi mai multe informații despre cum să configurați PHP pentru site-ul web., in special pe gazduirea web Shared aflata pe cPanel.
Concluzie
Limita de memorie PHP se referă la cantitatea maximă de memorie pe care o poate consuma un script PHP în timpul executării pe server. Este o setare de configurare din fișierul de configurare PHP (php.ini) care definește limita de memorie în megaocteți (MB). Atunci când un script PHP depășește această limită, acesta poate cauza terminarea scriptului sau produce o eroare.
Pe de altă parte, utilizarea memoriei fizice se referă la cantitatea reală de memorie utilizată de toate procesele care rulează pe server, inclusiv scripturile PHP, serverul web, sistemul de operare și orice alte aplicații sau servicii. Reprezintă memoria totală consumată de toate procesele care rulează pe server la un moment dat.
Într-un mediu de găzduire web partajată, mai multe site-uri web sunt găzduite pe același server și fiecărui site web i se alocă o parte din resursele serverului, inclusiv memoria. Utilizarea memoriei fizice reprezintă utilizarea totală a memoriei a întregului server, în timp ce limita de memorie PHP determină cantitatea maximă de memorie pe care o poate utiliza un script PHP în acel mediu partajat.
Este important de reținut că limita de memorie PHP este stabilită de obicei de furnizorul de găzduire și este adesea mai mică în mediile de găzduire partajată, comparativ cu serverele private virtuale sau dedicate. Acest lucru se face pentru a asigura o alocare corectă a resurselor între mai mulți utilizatori care partajează același server. Dacă un script PHP necesită mai multă memorie decât limita alocată, poate fi necesar să fie optimizat sau actualizat la un plan de găzduire mai mare care oferă mai multe resurse.
Sursa imagine: https://unsplash.com/photos/2kH-6T6x_0I