Změny v nastavení php na clusteru

Chybová hláška - 500 Internal Server Error (The server encountered an internal error and was unable to complete your request. Either the website is misconfigured or there was an error in a CGI script.

Toto chybové hlášení je většinou způsobeno nekorektním .htaccess. Může se jednat buď o syntaktickou chybu nebo o použití nepovolené direktivy. Povoleny jsou následující: Indexes, Limit, Fileinfo, Authconfig a Options. U direktivy Options je povoleno POUZE následující: FollowSymlinks a Indexes.

Pokud používáte CMS Drupal, je nutné v souboru sites/default/files/.htaccess odstranit řádky obsahující SetHandler a ExecCGI, případně je zakomentovat přidáním znaku # na začátek řádku. Pro ochranu před spouštěním uploadovaných souborů můžete přidat následující řádky:

<FilesMatch .*\.php.*>
  Order Deny,Allow
  Deny from all
</FilesMatch>
 

Mod_rewrite

V novém prostředí není možné použit rewrite pravidlo typu (chyba No input file specified):
(.*) index.php/něco
- pro zajištění funkčnosti je nutné použít konstrukci:
(.*) index.php?/něco

Pokud používáte framework Kohana, je nutné v souboru .htaccess nahradit následující pravidlo:

RewriteRule ^(.*)$ index.php/$1 [L]

tímto pravidlem:

RewriteRule ^(.*)$ index.php?kohana_uri=$0 [PT,L,QSA]
 

Joomla - ftp vrstva

Jelikož ftp server běží na jiném stroji než webový server, není možné využívat ftp vrstvu.

 

Joomla - SEO/SEF

Pokud chcete využívat SEO/SEF, je nutné zapnout též "Použít Apache mod_rewrite" a přejmenovat v kořenovém adresáři soubor htaccess.txt na .htaccess. Současně doporučujeme také promazat cache na serveru, aby došlo k přegenerování odkazů.

 

QuickCart

Pokud není funkční přídání a změna položek, je nutné v nastavení vypnout zobrazování souborů. Viz následující obrázek:

 

Nefungují pole proměnných HTTP_*_VARS

Defaultně je registrace těchto polí vypnuta. Pokud vaše aplikace vyžaduje toto nastavení, je možné o něj zažádat. Doporučujeme však použití polí $_*, jelikož pole HTTP_*_VARS již v  PHP verze 6 vůbec nebude.

 

HTTP autorizace

Jelikož php je spouštěno jako FastCGI, je nutné přidat následující řádky do php skriptů zajišťujících http authorizaci: 
 

 if ($_SERVER['HTTP_AUTHORIZATION'] != "") {
   $ha = base64_decode( substr($_SERVER['HTTP_AUTHORIZATION'],6) );
   list($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']) = explode(':', $ha);
   unset($ha);
 }

Dále je třeba do souboru .htaccess vložit následující řádky:

RewriteEngine on
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule ^(.*) - [E=HTTP_AUTHORIZATION:%1]

  Podrobnosti viz. manuál PHP.

 

Chybně zobrazovaná diakritika

Při přechodu na novější verzi PHP došlo ke změně defaultní znakové sady pro přístup do databáze. Pokud ve skriptech nenastavujete znakovou sadu po otevření spojení do MySQL, může dojít ke špatnému zobrazení diakritiky. Řešení je popsáno v následujícím článku.

!!! POZOR !!! Pokud se v rozhraní  https://webmysql.forpsi.com/ pokusíte o opravu diakritiky nebo o import vlastní zálohy databáze, s největší pravděpodobností dojde k nevratnému poškození dat a společně s opravou bude nutné provést také obnovu dat z naší zálohy.