Na serwerach Sferahost.pl używamy Cloudlinux a razem z nim - PHP Selector, który umożliwia zmianę wersji PHP i instalację dodatków dla konta.
Co jeśli używany przez nas skrypt wymaga innej wersji niż ta, którą obecnie używamy na wszystkich domenach przypisanych do konta?
Załóżmy, że korzystamy z wersji PHP 8.3 na całym koncie z domenami: example.com, example1.com i example2.com.
Domena example2.com używa przestarzałego skryptu wymagającego PHP 5.6 zamiast 8.3.
Co zrobić w tym wypadku?
- Otwieramy plik .htaccess dotyczący domeny example2.com
- Wpisujemy na końcu pliku:
<FilesMatch "\.(php4|php5|php3|php2|php|phtml)$">
SetHandler application/x-lsphp56
</FilesMatch>
- Zapisujemy plik
Gotowe. Od tej pory wszystkie domeny będą obsługiwać PHP 8.3 oprócz example2.com, która będzie działać na PHP 5.6.
Poniżej wpisy do .htaccess dla poszczególnych wersji PHP:
- PHP 5.6
<FilesMatch "\.(php4|php5|php3|php2|php|phtml)$">
SetHandler application/x-lsphp56
</FilesMatch>
- PHP 7.0
<FilesMatch "\.(php4|php5|php7|php3|php2|php|phtml)$">
SetHandler application/x-lsphp70
</FilesMatch>
- PHP 7.1
<FilesMatch "\.(php4|php5|php7|php3|php2|php|phtml)$">
SetHandler application/x-lsphp71
</FilesMatch>
- PHP 7.2
<FilesMatch "\.(php4|php5|php7|php3|php2|php|phtml)$">
SetHandler application/x-lsphp72
</FilesMatch>
- PHP 7.3
<FilesMatch "\.(php4|php5|php7|php3|php2|php|phtml)$">
SetHandler application/x-lsphp73
</FilesMatch>
- PHP 7.4
<FilesMatch "\.(php4|php5|php7|php3|php2|php|phtml)$">
SetHandler application/x-lsphp74
</FilesMatch>
- PHP 8.0
<FilesMatch "\.(php4|php5|php7|php8|php3|php2|php|phtml)$">
SetHandler application/x-lsphp80
</FilesMatch>
- PHP 8.1
<FilesMatch "\.(php4|php5|php7|php8|php3|php2|php|phtml)$">
SetHandler application/x-lsphp81
</FilesMatch>
- PHP 8.2
<FilesMatch "\.(php4|php5|php7|php8|php3|php2|php|phtml)$">
SetHandler application/x-lsphp82
</FilesMatch>
- PHP 8.3
<FilesMatch "\.(php4|php5|php7|php8|php3|php2|php|phtml)$">
SetHandler application/x-lsphp83
</FilesMatch>