Nastavení PHP na hostingu: Porovnání verzí

Z SvetHostingu.cz
Skočit na navigaci Skočit na vyhledávání
Bez shrnutí editace
 
(Není zobrazeno 46 mezilehlých verzí od stejného uživatele.)
Řádek 7: Řádek 7:


== Nastavení v souboru .htaccess ==
== 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í direktiv PHP přes soubor ''.htaccess'' není možné.<br />
Pro změnu konfigurace PHP použijte níže uvedených možností.


== Nastavení v administraci webhostingu ==
== Nastavení v administraci webhostingu ==
Řádek 23: Řádek 24:
*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í.
*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.
*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):
<pre>/                                          = 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</pre>
V administraci hostingu jsou jen některé základní volby. Rozsáhlejší nastavení je možné přes další způsoby popsané níže.


<u>[[#begin|Nahoru]]</u>
<u>[[#begin|Nahoru]]</u>
Řádek 28: Řádek 39:
=== Změna verze PHP ===
=== Změna verze PHP ===
Můžete si vybrat z více verzí [http://www.php.net/ PHP] pro jednotlivé složky na Vašem hostingu.
Můžete si vybrat z více verzí [http://www.php.net/ PHP] pro jednotlivé složky na Vašem hostingu.
Bližší informace jsou uvedeny v článku [[PHP verze na hostingu|PHP verze na hostingu]].
[[Soubor:Php adm 02.jpg|500x500px|thumb|center|Výběr verze PHP]]
[[Soubor:Php adm 02.jpg|500x500px|thumb|center|Výběr verze PHP]]
Verzi PHP přímo na webových stránkách pak můžete zjistit například pomocí funkce [http://php.net/manual/en/function.phpinfo.php phpinfo()].
Verzi PHP přímo na webových stránkách pak můžete zjistit například pomocí funkce [http://php.net/manual/en/function.phpinfo.php phpinfo()].<br />
[[Soubor:Php adm 03.jpg|500x500px|thumb|center|phpinfo()]]
Obsah souboru (například ''phpverze.php'') pro zjištění verze PHP funkcí ''phpinfo()'':
Obsah souboru (například ''phpverze.php'') pro zjištění verze PHP funkcí ''phpinfo()'':
<syntaxhighlight lang="php"><?php phpinfo(); ?></syntaxhighlight>
<syntaxhighlight lang="php"><?php phpinfo(); ?></syntaxhighlight>
Do prohlížeče poté zadejte cestu k tomuto souboru, např.: ''http://www.nasemaladomena.cz/abc/php/phpverze.php''.
Do prohlížeče poté zadejte cestu k tomuto souboru, např.: ''http://www.nasemaladomena.cz/abc/php/phpverze.php''.
<u>[[#begin|Nahoru]]</u>
=== Memory limit ===
[http://www.php.net/manual/en/ini.core.php#ini.memory-limit Memory limit] určuje paměť, kterou může PHP skript při svém provádění zabrat. Nastavení můžete provést pro jednotlivé složky na hostingu.
<u>[[#begin|Nahoru]]</u>
=== Register globals ===
[http://www.php.net/manual/en/ini.core.php#ini.register-globals Register globals] umožňuje přístup k proměnným prostředí typu Environment, GET, POST, Cookie, Server jako ke globálním proměnným.<br />
Tuto volbu lze aktivovat nebo deaktivovat. Nastavení lze provést pro jednotlivé složky hostingu.
<u>[[#begin|Nahoru]]</u>
=== Magic quotes gpc ===
[http://www.php.net/manual/en/info.configuration.php#ini.magic-quotes-gpc Magic quotes gpc] způsobuje automatické escapování jednoduchých uvozovek, dvojitých uvozovek, zpětného lomítka a NULL znaky.<br />
Tuto volbu lze aktivovat nebo deaktivovat. Nastavení lze provést pro jednotlivé složky hostingu.


<u>[[#begin|Nahoru]]</u>
<u>[[#begin|Nahoru]]</u>
Řádek 60: Řádek 56:
<center><span style="color: red;">Změny provedené v .user.ini se projeví do několika minut od provedení.</span></center>
<center><span style="color: red;">Změny provedené v .user.ini se projeví do několika minut od provedení.</span></center>


Zápis direktiv odpovídá formátu v ''php.ini'' souboru:
Zápis direktiv odpovídá formátu v ''php.ini'' souboru. Níže je uveden příklad pro nastavení některých PHP voleb:


<syntaxhighlight lang="php">register_globals = off
<syntaxhighlight lang="php">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
magic_quotes_gpc = off
display_error = 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
</syntaxhighlight>
</syntaxhighlight>


Řádek 72: Řádek 80:
A konfigurační soubory:<br />
A konfigurační soubory:<br />
'''''/www/.user.ini'''''
'''''/www/.user.ini'''''
<syntaxhighlight lang="php">display_error = off</syntaxhighlight>
<syntaxhighlight lang="php">display_errors = off</syntaxhighlight>
'''''/www/abc/.user.ini'''''
'''''/www/abc/.user.ini'''''
<syntaxhighlight lang="php">display_error = on</syntaxhighlight>
<syntaxhighlight lang="php">display_errors = on</syntaxhighlight>
Pro volání skriptu ''do.php'' bude aplikována direktiva ''"display_error = on"'', jelikož se nalézá "blíže" PHP skriptu.
Pro volání skriptu ''do.php'' bude aplikována direktiva ''"display_errors = on"'', jelikož se nalézá "blíže" PHP skriptu.


<u>[[#begin|Nahoru]]</u>
<u>[[#begin|Nahoru]]</u>


== Vlastní php.ini ==
== Vlastní php.ini ==
V administraci multihostingu můžete nahrát vlastní ''php.ini'' soubory pro jednotlivé domény nebo pro celý multihostingový účet.
V administraci multihostingu můžete nahrát vlastní ''php.ini'' soubory pro jednotlivé domény nebo pro celý multihostingový účet.<br />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.


<center><span style="color: red;">Vlastní php.ini soubory je možné použít pouze na multihostingu.</span></center>
<center><span style="color: red;">Vlastní php.ini soubory je možné použít pouze na multihostingu.</span></center>
Řádek 86: Řádek 94:


[[Soubor:Mhostb-024c.jpg|500x500px|thumb|center|Nahrání vlasntího php.ini souboru]]
[[Soubor:Mhostb-024c.jpg|500x500px|thumb|center|Nahrání vlasntího php.ini souboru]]
<u>[[#begin|Nahoru]]</u>
== PHP v prostředí příkazové řádky - SSH přístup ==
V rámci přikazové řádky, která je na multihostingu dostupná přes [[:Kategorie:SSH_pristup|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ě.
<center><span style="color: red;">SSH přístup je dostupný pouze na multihostingu.</span></center>
Různé verze lze použít zavoláním příkazu konkrétního PHP interpreteru:
<syntaxhighlight lang="php">
php56 /cesta_ke_skriptu/skript.php # PHP 5.6.x
php81 /cesta_ke_skriptu/skript.php # PHP 8.1.x
A obdobně pro další verze.
</syntaxhighlight>
Příklad: spuštění vestavěného Composeru přes PHP 7.3:
<syntaxhighlight lang="php">
php73 /usr/local/bin/composer
</syntaxhighlight>
Změna výchozí verze pro příkaz ''"php"'' je popsána [[Výchozí verze pro příkaz php v SSH prostředí|zde]].


<u>[[#begin|Nahoru]]</u>
<u>[[#begin|Nahoru]]</u>
Řádek 91: Řádek 122:
[[Kategorie:Webhosting| a]]
[[Kategorie:Webhosting| a]]
[[Kategorie:Multihosting| n]]
[[Kategorie:Multihosting| n]]
[[Category:SSH přístup| a]]

Aktuální verze z 22. 8. 2023, 16:48

Php logo 01.jpg

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.

Změny provedené v administraci se projeví do jedné hodiny od provedení.

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".

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

V administraci hostingu jsou jen některé základní volby. Rozsáhlejší nastavení je možné přes další způsoby popsané níže.

Nahoru

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.

Výběr verze PHP

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.

Nahoru

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.

Změny provedené v .user.ini se projeví do několika minut od provedení.

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.

Nahoru

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.

Vlastní php.ini soubory je možné použít pouze na multihostingu.


Nahrání vlasntího php.ini souboru

Nahoru

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ě.

SSH přístup je dostupný pouze na multihostingu.

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
php81 /cesta_ke_skriptu/skript.php # PHP 8.1.x
A obdobně pro další verze.

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.

Nahoru