Naše webové stránky obsahují odkazy na partnerské weby. Pokud se prokliknete z našich stránek na stránky partnera a tam si zakoupíte jeho služby, obdržíme za zprostředkování provizi (Zjistit více informací). Tato forma spolupráce nijak neovlivňuje objektivnost našich recenzí. Každým nákupem přes proklik z našich stránek podpoříte naši redakci, abychom i do budoucna mohli tvořit kvalitní a užitečný obsah. Ďekujeme.
Důležité upozornění Všechny naše články píšou skuteční lidé. Nejsou to umělé texty od stroje.
Co je to memory_limit a k čemu slouží?
Memory_limit je jeden z parametrů, na které bychom měli dát pozor při výběru webhostingu. V tomto článku se podíváme, jaká velikost je optimální a co vlastně memory_limit znamená.
Co je to memory_limit?
PHP memory_Limit je množství paměti, kterou může daný proces použít na Vašem serveru. Kdykoli klient odešle požadavek na Váš webový server a PHP jej vyřídí, zahájí proces PHP. Pokud překročíte nastavený limit paměti, proces selže a Apache to nahlásí jako chybu HTTP 500.
Kdy přemýšlet o změně PHP memory_limit?
O zvýšení limitu můžeme uvažovat z důvodu, že skript stránky nebo php způsobuje chybu memory_limit kvůli nedostatku paměti.
Chyba se může projevovat výpisem této hlášky:
Fatal error: Allowed memory size of x bytes exhausted (tried to allocate x bytes) in /path/to/php/script
nebo
PHP Fatal error: Out of memory (allocated x) (tried to allocate x bytes) in /path/to/php/script
U WordPressu se může objevovat bílá obrazovka. Vše potřebné pak naleznete ve výpisu z error_log
Globální změna PHP memory_limit
Tato akce vyžaduje pokročilejší znalosti a provádí se pouze v případě, že máte dostatek prostředků na serveru (nemůžete zvyšovat paměť na 1GB memory_limit, když Váš server tolik paměti nemá) a v případě, že nevyužíváte sdílený hosting. Typicky se tato úprava týká VPS a serverů.
Toto nastavení je tedy globální a je pro všechny PHP operace a scripty na serveru.
Jak změnit PHP memory_limit na vašem VPS nebo serveru?
Každý server má na základě své konfigurace jeden nebo několik souborů php.ini. Musíte jen najít vhodný soubor php.ini, abyste mohli upravit a změnit hodnotu memory_limit.
Chcete-li zjistit umístění souboru php.ini můžete přes SSH na svém serveru spustit jeden z těchto příkazů:
php --ini
nebo
find / -iname php.ini
nebo
php -i | grep php.ini
Výše uvedené příkazy vyhledají umístění Vašich souborů php.ini. Jednoduše přejděte do tohoto umístění a podle potřeby soubor upravte. Samozřejmě vytvořte zálohu daného souboru, pokud si úpravou nejste jisti.
Jak změnit PHP memory_limit v .htaccess?
Důvodem, proč měnit PHP memory_limit přes .htaccess může být ten, že nemusíte mít dostatečné oprávnění, nebo zkušenosti ke změně tohoto nastavení v php.ini
Nicméně to nemusí být vždy vhodně řešení – obzvláště v případě, kdy je podpora .htaccess vypnuta. Pak taková změna nemá požadovaný efekt.
Pokud tedy měníte memory_limit přes .htaccess, tak přidejte následující řádek na začátek Vašeho souboru .htaccess v kořenovém adresáři.
php_value memory_limit 256M
Jak změnit PHP memory_limit ve WordPressu?
Po změně memory_limitu na serveru budete muset u Vašeho WordPress webu změnit ještě nastavení paměti přímo ve WordPressu.
V souboru wp-config.php, přímo v kořenovém adresáři instalace WordPressu musíte přidat následující řádek před řádek, který říká: „To je vše, zastavte úpravy! Příjemné blogování.“ („That’s all, stop editing! Happy blogging.“):
define( 'WP_MEMORY_LIMIT', '256M' );
Soubor je samozřejmě potřeba uložit a nahrát na server (pokud needitujete přímo na serveru – FTP)
Jak zkontrolovat aktuální verzi PHP a PHP memory_limit?
Stačí vytvořit jednoduchý php soubor (třeba info.php) a do něj vložit tyto řádky:
<?php
phpinfo();
?>
Tento soubor nahrajte na Vaše FTP a poté si jej normálně zobrazte v prohlížeči vasedomena.cz/info.php
Výsledkem je pakvýpis kompletního PHP info. Položku memory_limit pak můžete snadno najít přes CTRL+F a zadáním „memory_limit“.
Výsledek pak může vypadat třeba takto:
Optimální velikost memory_limit?
Otázka memory_limit je poměrně ošemetná. Obzvláště pak v souvislosti se sdílenými hostingy.
Je fajn mít memory_limit 1GB a využívat tolik paměti naplno, ALE:
Je potřeba si uvědomit, že na sdíleném hostingu toto mohou využívat všichni. Takže pokud desítka a nebo stovka uživatelů začne využívat tolik paměti najednou, tak se to zákonitě projeví i na zátěži daného serveru a tato akce může ovlivnit všechny weby, které na serveru jsou.
Nízký memory_limit zase zajistí nižší zátěž (co se paměti týče), ale řada redakčních systému a scriptů s tím může mít problém.
Pro bezproblémový chod WordPress vyžaduje alespoň 128MB memory_limit. Tyto hodnoty má většina webhostingových tarifů, které máme v databázi. Pro rychlejší orientaci přikládáme odkazy na jednotlivé filtry php memory_limit.
- Hosting s memory_limit 128 MB
- Hosting s memory_limit 256 MB
- Hosting s memory_limit 512 MB
- Hosting s memory_limit 1024 MB
Takže ano. Větší memory_limit umožňuje využívat více paměti na jednotlivé scripty, ale je třeba brát v potaz možnou zátěž na daném serveru z důvodu vyšších limitů memory_limit.
Jeden komentář