Atenție: Ca și în majoritatea cazurilor, cu lansarea unei versiuni lingvistice noi, este mai bine să așteptați un pic înainte de actualizarea la PHP 7 în producție. În acest timp, puteți testa aplicațiile pentru compatibilitate cu noua versiune, puteți efectua teste de performanță și puteți învăța noi funcții de limbă.
Cerințe preliminare
În scopul acestui tutorial, se presupune că utilizați PHP 5.x pe CentOS 7, folosind fie mod_php împreună cu Apache sau PHP-FPM împreună cu Nginx. De asemenea, presupune că aveți un utilizator non-root cu privilegii sudo pentru a efectua sarcini administrative.
Procesul de instalare pentru PHP 5 este descris în următoarele manuale:
- Cum se instalează stack-ul Linux, Apache, MySQL, PHP (LAMP) pe CentOS 7
- Cum se instalează stack Linux, Nginx, MySQL, PHP (LEMP) pe CentOS 7
Din moment ce PHP 7.x nu este încă disponibil în depozitele oficiale pentru distribuția în masă, vom folosi o sursă terță parte. Fișierele RPM RPM 7 sunt disponibile în mai multe depozite. Vom folosi depozitul IUS.
IUS oferă un script de instalare pentru a-și abona la spațiul de stocare și pentru a importa cheile GPG corespunzătoare. Asigurați-vă că vă aflați în directorul de acasă și extrageți scriptul cu curl:
Actualizarea mod_php pentru un sistem cu Apache
Această secțiune descrie procesul de actualizare pentru un sistem care utilizează Apache ca server web și mod_php pentru a rula codul PHP. Dacă utilizați Nginx și PHP-FPM, mergeți direct la secțiunea următoare.
Ștergeți pachetele PHP existente. Când vi se solicită pe ecran, apăsați pe y și apoi pe Enter pentru a continua.
Instalați noi pachete PHP 7 de la IUS. Când vi se solicită, apăsați pe y și apoi pe Enter din nou.
În cele din urmă, reporniți Apache pentru a descărca noua versiune de mod_php:
Cu systemctl, puteți verifica starea Apache, care este controlată de componenta httpd systemd:
Actualizați PHP-FPM pentru un sistem cu Nginx
Această secțiune descrie procesul de actualizare pentru un sistem care utilizează Nginx ca server web și PHP-FPM pentru a rula cod PHP. Dacă ați actualizat deja sistemul care rulează cu Apache, mergeți direct la secțiunea "Testarea PHP".
Ștergeți pachetele PHP existente. Când vi se solicită pe ecran, apăsați pe y și apoi pe Enter pentru a continua.
Instalați noi pachete PHP 7 de la IUS. Când interogarea apare pe ecran, apăsați din nou pe y și pe Enter.
Când instalarea este finalizată, va trebui să faceți mai multe modificări în configurația PHP-FPM și Nginx. Conform configurației, PHP-FPM interceptează conexiuni la socketul local TCP, iar Nginx așteaptă un socket de domeniu Unix care arată calea în sistemul de fișiere.
Ieșiți și salvați fișierul. În nano, puteți face acest lucru apăsând pe Ctrl-X pentru a ieși, y pentru confirmare și Enter pentru a confirma numele fișierului rescris.
Apoi asigurați-vă că Nginx folosește calea corectă la socket pentru a lucra cu fișierele PHP. Mai întâi, deschideți /etc/nginx/conf.d/default.conf:
php-fpm.conf specifică un cod din amonte pe care alte directive de configurare Nginx le pot face referire.
Ieșiți și salvați fișierul, apoi deschideți /etc/nginx/conf.d/default.conf:
Găsiți blocul care începe cu locația
Ieșiți și salvați fișierul, apoi reporniți PHP-FPM și Nginx astfel încât noile directive de configurare să aibă efect:
Puteți verifica starea fiecărui serviciu cu systemctl:
Testarea PHP
Acum că serverul web este configurat și sunt instalate noi pachete, trebuie să ne asigurăm că PHP rulează. Începeți prin a verifica versiunea instalată a PHP pe linia de comandă:
De asemenea, puteți crea un fișier de test în rădăcina documentului serverului Web. În ciuda faptului că locația acesteia depinde de configurația serverului dvs., rădăcina documentului este de obicei situată într-unul din aceste directoare:
Folosind nano, deschideți un nou fișier numit info.php în rădăcina documentului. În mod implicit, pe Apache va arăta astfel:
Pe Nginx, puteți utiliza următoarele:
Inserați următorul cod:
Veți vedea pagina de informații a PHP 7, care arată versiunea curentă și configurația. După verificarea acestui punct, ștergeți info.php:
Acum sunteți convins că PHP 7 funcționează. Apoi, puteți citi mesajul lui Erika Heidi "Pregătirea pentru PHP 7", precum și ghidul oficial privind trecerea de la versiunile anterioare ale PHP la cele ulterioare.