Kategóriák megtekintése

Tudok a tárhelyen mappánként PHP verziót beállítani?

Ez a Versanus Tudásbázis bejegyzés arról szól, hogy a tárhelyen mappánként is beállítható PHP verzió .htaccess fájl segítségével. A cPanelben a Select PHP Version menüpont globális beállítást ad, de ezt a mappában elhelyezett konfiguráció felülírhatja. A módszer működik a támogatott PHP verziókkal, ugyanakkor bizonyos PHP kiegészítők és globális beállítások nem minden esetben érvényesülnek. Egyes PHP paraméterek viszont .htaccess direktívákkal módosíthatók.

Röviden: Igen. Hosszabban: konfigurációs fájlok feltöltésével az adott mappában megoldható. Némi kényelmetlenség és kompromisszum árán.

A cPanel kivezeti a magyar nyelv támogatását ezért a képernyőmentéseket már csak angol nyelvi beállításokkal készítettük el, a hivatkozások szövegeit pedig két nyelven írtuk le.

Jelenleg PHP verziót 5.6-os verziótól a legfrisebb stabil kiadásig támogatja a cPanel a kiadásokat. A cPanel webes felületén az Select PHP Version menüpont alatt beállított PHP verzió globális lesz az egész tárhelyre, de .htaccess fájlok elhelyezésével a mappába ez felülírható.

Mappaszintű PHP verzió beállításának bemutatása videóval


Mappaszintű PHP verzió beállítása lépésről-lépésre

Belépés a cPanel fiókjába

A belépés egyik módja, hogy előbb a vCRM rendszerünkbe lép be, majd onnan lép át a cPanel fiókjába.
A leíráshoz kattintson ide.

Nyissa ki a nyitólapon a Files (fájlok) szekciót

A cPanel felületére történő belépés után maradjon a nyitólapon és keresse meg a Files (fájlok) szekciót, aminek két állapota lehet. Ha zárva van nyissa ki a jobb oldali lefelé mutató nyíl segítségével:

Kattintson a File Manager menüpontra

Miután kinyitotta vagy megtalálta a nyitott Files szekciót, azon belül a kattintson a File Manager, azaz a fájlkezelő menüpontra.

Kezelni kívánt mappa választása

Abban a mappában, ahol átállítaná a PHP verziót nyissa meg szerkesztésre a .htaccess fájlt (akár FTP-n, akár a cPanel Fájlkezelőével), vagy ha nem létezik még a fájl, akkor hozzon létre egyet a saját számítógépén például Jegyzettömbben, majd mente el .htaccess néven. Fontos a pont az elején.

Válasszon PHP verziókódot az alábbi listából, illessze bele a fájlba, mentse, majd töltse fel.

.htaccess kód feltöltése a megfelelő kóddal

PHP 5.6
\\.(php4|php5|php3|php2|php|phtml)$">  
SetHandler application/x-httpd-alt-php56___lsphp  
PHP 7.0
\\.(php4|php5|php3|php2|php|phtml)$">  
SetHandler application/x-httpd-alt-php70___lsphp  

PHP 7.1
\\.(php4|php5|php3|php2|php|phtml)$">  
SetHandler application/x-httpd-alt-php71___lsphp  

PHP 7.2
\\.(php4|php5|php3|php2|php|phtml)$">  
SetHandler application/x-httpd-alt-php72___lsphp  

PHP 7.3
\\.(php4|php5|php3|php2|php|phtml)$">  
SetHandler application/x-httpd-alt-php73___lsphp  

PHP 7.4
\\.(php4|php5|php3|php2|php|phtml)$">  
SetHandler application/x-httpd-alt-php74___lsphp  

PHP 8.0
\\.(php4|php5|php3|php2|php|phtml)$">  
SetHandler application/x-httpd-alt-php80___lsphp  

PHP 8.1
\\.(php4|php5|php3|php2|php|phtml)$">  
SetHandler application/x-httpd-alt-php81___lsphp  

PHP 8.2
\\.(php4|php5|php3|php2|php|phtml)$">  
SetHandler application/x-httpd-alt-php82___lsphp  

Mi a kényelmetlenség és kompromisszum?

Amíg a Select PHP Version lehetőségeket ad a globális PHP verzió esetén egyes PHP extensions (kiegészítők) betöltésére, addig a .htacces módszer ezt nem engedélyezi.

Azaz csak azok a kiegészítők kerülnek betöltésre, amit mi a cPanel szintjén alapértelmezetten ahhoz a PHP verzióhoz bekapcsoltuk.

Tegyük fel, hogy globálisan Ön az egész tárhelyén a 8.2-es PHP verziót használja. Egy másik mappában a fentiek szerint beállította a 7.2-es verziót a .htaccess fájllal. Szüksége lenne az apcu kiegészítőre. De az nincs.

A Select PHP Version alatt egy pillanatra átállítja globálisra a 7.2-es PHP-t, bekapcsolja a apcu extensiont, alkalmazza a módosítást, frissíti is a példa kedvéért a phpinfo.php fájl, meg is jelenik az apcu modul.

De Önnek a 8.2-es PHP kell alapértelmezettként, ezért visszateszi azt. Ha ekkor frissíti a phpinfo.php, ahol a 7.2-es PHP infókat tudja lekérdezni, az apcu modul el is tűnt. Azaz hiába kapcsolta be, mivel nálunk globálisan nincs aktiválva, ezért nem is fog betöltődni.

De ugyan így az egyes beállítások, limitek beállításai sem érvényesülnek.

Mi akkor a megoldás?

A PHP extension betöltésére nincs megoldás, csak továbbra is a külön tárhelyre költöztetés.

Az egyes PHP paraméterek viszont módosíthatók. A globális php.ini beállításokat le lehet cserélni. Egyes beállítások közvetlenül az .htaccess fájlban is megadhatók a php_value és php_flag direktívákkal. Például:

  
SetHandler application/x-httpd-alt-php72___lsphp
php_value upload_max_filesize 32M
php_value post_max_size 32M
php_flag display_errors On

Gyakran Ismételt Kérdések

Kosár
Scroll to Top