Cum rulam mai multe versiuni de PHP pe acelasi server [CentOS]
Salutare tuturor!
Astazi am sa va arat cum puteti utiliza consecutiv PHP 7.2 cat si PHP 5.6.
Pentru incpeut actualizam sistemul utilizand:
1 |
sudo yum -y update |
Acum instalam repede PHP 7.2 si Apache folosind urmatoarea comanda:
1 |
yum install epel-release epel* yum-utils wget; cd /; wget http://rpms.famillecollet.com/enterprise/remi-release-7.rpm; sudo rpm -Uvh remi-release-7*.rpm; yum --enablerepo=remi,remi-php72 update; yum-config-manager --enable remi-php72; yum -y install httpd php php-mcrypt php-mysql |
Nota: Pentru a instala phpMyAdmin alaturi de serverul mysql va rugam sa cititi articolul: Tutorial instalare Apache + MariaDB + PHP 5.6 pe Centos 7
Acum pentru a instala PHP 5.6 utilizam urmatoarea comanda:
1 |
yum install php56 php56-php-common php56-php-fpm php56-php-mysql php56-php-pecl-memcache php56-php-pecl-memcached php56-php-gd php56-php-mbstring php56-php-mcrypt php56-php-xml php56-php-pecl-apc php56-php-cli php56-php-pear php56-php-pdo |
Acum totul este gata, tot ce mai trebuie de facut inainte de a trece mai departe este sa pornim Apache si PHP-FPM si sa le setam sa porneasca odata cu sistemul cu ajutorul urmatoarei comenzi:
1 |
sudo systemctl start httpd.service; sudo systemctl enable httpd.service; systemctl enable php56-php-fpm; systemctl start php56-php-fpm |
Acum totul este pregatit si suntem gata sa incepem sa utilizam ce versiune de PHP dorim pentru fiecare din site-urile noastre (PHP 7.2 sau PHP 5.6, unde PHP 7.2 este cel de baza, iar PHP 5.6 cel secundar).
Pentru a adauga un site folosim aceasi metoda ca in articolul Tutorial instalare Apache + MariaDB + PHP 5.6 pe Centos 7, adica adaugam VirtualHost-uri in fisierul httpd.conf. De mentionat ca dupa fiecare modificare a fisierului httpd.conf trebuie sa executam comanda: service httpd restart.
Nota: Daca considerati ca articolul de mai sus nu este destul de util pentru Dvs. si nu reusiti sa intelegeti cum se creeaza un VirtualHost , va rugam sa cititi pe site-ul official Apache: VirtualHost Examples (EN)
Acum, pentru a face un anumit site, respectiv VirtualHost-ul sa ruleze versiunea secundara de PHP vom adauga la inceputul sectiunii dedicate Site-ului, respectiv VirtualHost-ului urmatoarea linie: ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/PATCH_HOME_SITE/$1, unde PATCH_HOME_SITE este identic cu DocumentRoot din VirtualHost-ul nostru.
Exemplu:
1 2 3 4 5 6 |
<VirtualHost *:80> ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/var/www/$1 ServerName www.server.tld ServerAlias server.tld DocumentRoot /var/www </VirtualHost> |
Exemplu 2:
1 2 3 4 5 6 7 8 |
<VirtualHost *:80> ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/usr/share/phpMyAdmin/$1 ServerName pma0.server.tld ServerAlias www.pma0.server.tld DocumentRoot /var/www Alias /phpMyAdmin /usr/share/phpMyAdmin Alias /phpmyadmin /usr/share/phpMyAdmin </VirtualHost> |
Asta a fost tot pentru acest tutorial! Sper ca o sa fie de folos tuturor asa cum mi-a fost si mie cand rulam PHP 7.1 si unele scripturi pe care doream sa le utilizez mergeau doar cu PHP 5.6.
Daca aveti probleme, nelamuriri sau ceva nu merge va rugam sa ne lasati un mesaj si va vom ajuta in cel mai scurt timp la solutionarea problemei.
Ne vedem data viitoare cu un nou articol! Numai bine 🙂