Čo je memory_limit a na čo slúži?

Memory_limit je jedným z parametrov, ktorým by sme mali venovať pozornosť pri výbere webového hostiteľa. V tomto článku sa pozrieme na to, aká veľkosť je optimálna a čo vlastne znamená memory_limit.

Odkaz: PHP memory_limit na php.net

Čo je memory_limit?

PHP memory_Limit je množstvo pamäte, ktoré môže daný proces na serveri využívať. Vždy, keď klient odošle požiadavku na váš webový server a PHP ju spracuje, spustí sa proces PHP. Ak prekročíte nastavený limit pamäte, proces zlyhá a Apache to oznámi ako chybu HTTP 500.

Kedy uvažovať o zmene memory_limit PHP?

Môžeme zvážiť zvýšenie limitu, pretože stránka alebo php skript spôsobuje chybu memory_limit z dôvodu nedostatku pamäte.

Chyba sa môže prejaviť zobrazením tejto správy:

Fatálna chyba: Povolená veľkosť pamäte x bajtov vyčerpaná (pokúsil sa prideliť x bajtov) v /path/to/php/script

alebo

Fatálna chyba PHP: Došla pamäť (alokovaných x) (pokúsil sa alokovať x bajtov) v /path/to/php/script

WordPress môže zobraziť bielu obrazovku. Všetko potrebné nájdete v denníku error_log

Zmena globálneho limitu pamäte PHP memory_limit

Táto akcia si vyžaduje pokročilejšie znalosti a vykonáva sa len vtedy, ak máte na serveri dostatok zdrojov (nemôžete zvýšiť pamäť na 1 GB memory_limit, ak váš server nemá toľko pamäte) a ak nepoužívate zdieľaný hosting. Táto úprava sa zvyčajne vzťahuje na VPS a servery.

Toto nastavenie je teda globálne a platí pre všetky operácie PHP a skripty na serveri.

Ako zmeniť memory_limit PHP na vašom VPS alebo serveri?


Každý server má jeden alebo viac súborov php.ini v závislosti od svojej konfigurácie. Stačí nájsť príslušný súbor php.ini a zmeniť hodnotu memory_limit.

Ak chcete zistiť umiestnenie súboru php.ini, môžete na serveri cez SSH spustiť jeden z nasledujúcich príkazov:

php --ini

alebo

find / -iname php.ini

alebo

php -i | grep php.ini

Vyššie uvedené príkazy vyhľadajú umiestnenie vašich súborov php.ini. Jednoducho prejdite na toto miesto a upravte súbor podľa potreby. Samozrejme, ak si nie ste istí úpravami, vytvorte si zálohu súboru.

Ako zmeniť memory_limit PHP v .htaccess?

Dôvodom, prečo zmeniť PHP memory_limit cez .htaccess môže byť, že nemusíte mať dostatočné oprávnenia alebo skúsenosti na zmenu tohto nastavenia v php.ini
Toto však nemusí byť vždy vhodné riešenie – najmä ak je podpora .htaccess vypnutá. Potom takáto zmena nemá želaný účinok.

Ak teda meníte memory_limit prostredníctvom súboru .htaccess, pridajte na začiatok súboru .htaccess v koreňovom adresári nasledujúci riadok.

php_value memory_limit 256M

Ako zmeniť PHP memory_limit v systéme WordPress?

Po zmene memory_limit na serveri je potrebné zmeniť nastavenia pamäte pre vašu stránku WordPress priamo v systéme WordPress.

V súbore wp-config.php, priamo v koreňovom adresári inštalácie WordPress, musíte pred riadok s textom „To je všetko, prestaňte upravovať! Šťastné blogovanie.“ („To je všetko, prestaňte upravovať! Šťastné blogovanie.“)

define( 'WP_MEMORY_LIMIT', '256M' );

Súbor je samozrejme potrebné uložiť a nahrať na server (ak ho neupravujete priamo na serveri – FTP).

Ako skontrolovať aktuálnu verziu PHP a memory_limit PHP?

Stačí vytvoriť jednoduchý php súbor (napríklad info.php) a vložiť do neho tieto riadky:

<?php
phpinfo();
?>

Nahrajte tento súbor na FTP a potom ho normálne zobrazte v prehliadači vasedomena.cz/info.php

Výsledkom je potom výpis kompletných informácií o PHP. Položku memory_limit potom ľahko nájdete pomocou klávesovej skratky CTRL+F a zadaním „memory_limit“.

Výsledok môže vyzerať takto:

php.ini
php.ini
memory_limit
memory_limit

Optimálna veľkosť memory_limit?

Otázka memory_limit je dosť zložitá. Najmä v kontexte zdieľaného hostingu.

Je pekné mať memory_limit 1 GB a využívať túto pamäť naplno, ALE:

Je dôležité poznamenať, že na zdieľanom hostingu ho môže používať každý. Ak teda desať alebo sto používateľov začne naraz používať toľko pamäte, nevyhnutne to ovplyvní zaťaženie servera a táto akcia môže ovplyvniť všetky stránky, ktoré sú na serveri.

Nízky memory_limit zabezpečí nižšie zaťaženie (z hľadiska pamäte), ale mnohé redakčné systémy a skripty s tým môžu mať problémy.

WordPress vyžaduje na bezproblémový chod aspoň 128 MB memory_limit. Toto sú hodnoty väčšiny webhostingových plánov, ktoré máme v našej databáze. Pre rýchlejšiu orientáciu pripájame odkazy na jednotlivé filtre php memory_limit.

Takže áno. Väčší memory_limit vám umožňuje používať viac pamäte pre jednotlivé skripty, ale musíte brať do úvahy možné zaťaženie servera v dôsledku vyšších memory_limitov.

Rate this post

Similar Posts

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *

Táto webová stránka používa Akismet na redukciu spamu. Získajte viac informácií o tom, ako sú vaše údaje z komentárov spracovávané.