Nastavení PHP na hostingu
Na hostingových programech máte možnost přizpůsobit konfiguraci PHP svým požadavkům. Na webhostingu v současnosti nabízíme dva způsoby, jak nastavení PHP ovlivnit - nastavení v administraci webhostingu a přes soubor .user.ini. Na multihostingových programech pak můžete využít ještě navíc třetí způsob - vlastní php.ini soubory.
Verzi PHP a konkrétní nastavení lze provádět pro jednotlivé složky na hostingu. Můžete tak pod jednou doménou provozovat více verzí PHP s rozličnými nastaveními. Vlastní php.ini soubory na multihostingu lze nahrát pro jednotlivé domény nebo pro celý multihosting.
Nastavení v souboru .htaccess
Nastavení direktiv PHP přes soubor .htaccess není možné.
Pro změnu konfigurace PHP použijte níže uvedených možností.
Nastavení v administraci webhostingu
Přes administraci hostingu lze vybrat i požadovanou verzi PHP. Aktuální dostupné položky naleznete vždy v administraci hostingu.
Výběr složky
Nejprve musíte vybrat složku, pro kterou chcete nastavení PHP aplikovat.
Po přihlášení do administrace vyberte položku "Web" v levém menu a následně klikněte na "Nastavení PHP".
Můžete upravit, zrušit nebo přidat nastavení pro konkrétní složku.
- Pokud chcete přidat nastavení pro složku "/abc", vepište její název do pole "Složka", vyberte požadovaná nastavení dostupných voleb (verze PHP a další volby) a klikněte na "Přidat".
- Pokud chcete zrušit nastavení pro stávající složku, klikněte na "Zrušit" u odpovídající tabulky s přehledem nastavení.
- Chcete-li upravit nastavení pro stávající složku, klikněte na "Upravit" u odpovídající tabulky s přehledem nastavení a níže pak můžete provést změny dostupných nastavení. Kliknutím na "Uložit" změny potvrdíte.
Zadání pole "Složka" se odvozuje od kořene vybrané domény následovně (pro příklad poslouží doména vasedomena123.cz):
/ = veškerý obsah pod doménou /www = http://www.vasedomena123.cz /abc = http://abc.vasedomena123.cz /abc/slozka1/slozka2 = http://abc.vasedomena123.cz/slozka1/slozka2 /abc.domena.cz/slozka1/slozka2/skript.php = http://abc.vasedomena123.cz/slozka1/slozka2/skript.php
Změna verze PHP
Můžete si vybrat z více verzí PHP pro jednotlivé složky na Vašem hostingu.
Bližší informace jsou uvedeny v článku PHP verze na hostingu.
Verzi PHP přímo na webových stránkách pak můžete zjistit například pomocí funkce phpinfo().
Obsah souboru (například phpverze.php) pro zjištění verze PHP funkcí phpinfo():
<?php phpinfo(); ?>
Do prohlížeče poté zadejte cestu k tomuto souboru, např.: http://www.nasemaladomena.cz/abc/php/phpverze.php.
Nastavení v souboru .user.ini
PHP od verze 5.3 přináší možnost nastavení direktiv php.ini přímo skrze konfigurační soubor na hostingu.
Nastavení stačí vložit do souboru .user.ini v příslušné složce na hostingu. Jedná se o obdobu souboru .htaccess webového serveru Apache.
Zápis direktiv odpovídá formátu v php.ini souboru. Níže je uveden příklad pro nastavení některých PHP voleb:
default_charset=windows-1250
short_open_tag = off
opcache.enable = off
register_globals = off
upload_max_filesize = 64M
post_max_size = 64M
magic_quotes_gpc = off
display_errors = on
max_input_vars = 2000
memory_limit = 256M
max_execution_time = 120
session.auto_start = on
error_reporting = E_WARNING & ~E_NOTICE & ~E_DEPRECATED
log_errors = on
error_log = /disk_1/www/tld/domena/www/mujlog.log
Nastavení provedená v určité složce jsou platná pro všechny její podsložky. Největší váhu má však vždy nastavení, které je nejblíže prováděnému php skriptu.
Příklad: Máme PHP skript na cestě /www/abc/do.php.
A konfigurační soubory:
/www/.user.ini
display_errors = off
/www/abc/.user.ini
display_errors = on
Pro volání skriptu do.php bude aplikována direktiva "display_errors = on", jelikož se nalézá "blíže" PHP skriptu.
Vlastní php.ini
V administraci multihostingu můžete nahrát vlastní php.ini soubory pro jednotlivé domény nebo pro celý multihostingový účet.
Je potřeba nahrávat kompletní php.ini soubor určený pro PHP verzi, kterou používáte. Pokud se tímto způsobem pokusíte nahrát soubor, který obsahuje jen výčet PHP direktiv, které chcete změnit, neúplný soubor nebo soubor ve špatném formátu, nebude tento způsob fungovat. Pro změnu jen konkrétního direktiv využijte radši výše zmíněný způsob přes soubor .user.ini, kde stačí měněné položky pouze vyjmenovat.
PHP v prostředí příkazové řádky - SSH přístup
V rámci přikazové řádky, která je na multihostingu dostupná přes SSH přístup, je rovněž možné využít více verzí PHP. Výše uvedená nastavení pro multihosting neplatí pro PHP v rámci SSH prostředí, které běží izolovaně.
Různé verze lze použít zavoláním příkazu konkrétního PHP interpreteru:
php56 /cesta_ke_skriptu/skript.php # PHP 5.6.x
php70 /cesta_ke_skriptu/skript.php # PHP 7.0.x
php71 /cesta_ke_skriptu/skript.php # PHP 7.1.x
php72 /cesta_ke_skriptu/skript.php # PHP 7.2.x
php73 /cesta_ke_skriptu/skript.php # PHP 7.3.x
php74 /cesta_ke_skriptu/skript.php # PHP 7.4.x
php80 /cesta_ke_skriptu/skript.php # PHP 8.0.x
php81 /cesta_ke_skriptu/skript.php # PHP 8.1.x
Příklad: spuštění vestavěného Composeru přes PHP 7.3:
php73 /usr/local/bin/composer
Změna výchozí verze pro příkaz "php" je popsána zde.