Cum instalezi a doua versiune de PHP pe NGINX si Ubuntu

Vom vedea cum sa instalam a doua versiune de php(5.6) pe LEMP

In acest caz eu lucrez in docker. Daca ai docker nu ar trebui sa urmezi pasii de mai jos ci sa creezi un nou container cu php5.6, dar pt ca este dev va arat asa. Serverul este Ubuntu si are pe el nginx si php 7.1.

1. Adaugam repo si updatam:

2. Instalam php-fpm (5.6) si dependinte:

3. Verificam:

A doua versiune de php comanda php5.6-v

4*. Suplimentar (ar trebui sa puneti cgi.fix_pathinfo=0 in php.ini):

cautati cu ctrl+w cgi.fix_pathinfo si asigurati-va ca il setati 0

5. Setati poolul (ar trebui facut pt fiecare site in parte)

Notati numele userului ce ruleaza nginx. Deobicei e www-data, la mine e nginx.

La inceput aveti numele in a patra linie [www] schimbati www cu numele site-ului ar trebui sa fie

setati pool name pt php
puneti user si group(ar trebui sa il verificati si pe asta, deobicei se seteaza lafel fapt pt care am trecut peste).

acum mergem la variabila listen. In acest caz am folosit socket. Am redenumit socketul dupa versiunea de php si dupa numelesite-ului(tineti minte locatia directorului ca o sa ne trebuiasca cand setam nginx. Ca si mod de lucru eu l-am pus in acelasi director cu socketul pt php7)

dupa care modificam si linsten.owner, listen.group si scoatem comentariul de la listen.mode (userul tre sa fie acelasi cu cel de mai sus si grupul)

listen socket si owner group

6. Editati configuratia site-ului din nginx.(presupun ca i-ati dat enable la site din /etc/nginx/nginx.conf)

cautati linia(liniile depinde cum ati configurat site-ul cu fastcgi_pass si inlocuti cu locatia socketului de mai sus)fastcgi socket ningx
Nu uitati sa dati reload la nginx dar verificati inainte cu

7*. Eu am aici supervisor fapt pt care ar trebui sa fac si cea de-a doua versiune a php sa se ramana persistenta.

Voi probabil nu aveti, dar pt cei ce au

si acolo adaugati

supervisor pt php5
bun ca sa aflati executabilul dati

locatia o folositi mai sus. Puti sa creati si directorul supervisor daca nu il aveti cu mkdir -p /var/log/supervisor (pt loguri)

S-ar putea ca unele path-uri sa difere la voi. Ideea e simpla: instalezi php, ai grija ce socket pui si sa fie accesibil de nginx si configurezi site-ul sa se uite la socket-ul respectiv.

Ultima Modificare: 5 august, 2019