Pueden odiarlo o pueden amarlo… para mí PHP es un lenguaje avanzado, enfocado en la practicidad pero que puede llegar a ser terriblemente complejo en ALGUNAS de sus prácticas.
Apartando todo lo anterior, sin duda alguna sigue siendo el lenguaje que reina en el lado del servidor y ya se encuentra, al momento de escribir estas líneas, ¡en su versión 8.1!
El meollo del asunto es que:
- Hay mucho código fuente heredado. La versión en línea más antiguo es la 7.2, y al momento de escribir estas líneas alcanzó su «final de vida» en noviembre de 2020.
- El PHP 7.4 también marcó un hito en muchas aplicaciones web, al momento de escribir esto, aún está en línea y solo recibe actualizaciones de seguridad (su «final de vida» llegará el próximo mes de diciembre 2022).
- El PHP 8.0 es la base, pronostico yo, para todo el próximo año 2023, a menos que salga algo realmente innovador lo cual dudo pues la mayoría de los cambios los incorporaron en la transición 7.x a 8.0 . Léase entonces que debemos programar en PHP 8.0 como mínimo.
- Aunque esto no va de base de datos, se ha dado un curioso caso con MySQL, la base de datos más utilizada, que alcanzó la versión 8 también.
Para mayores detalles consulten:
https://rpms.remirepo.net/wizard/
https://linoxide.com/how-to-install-php-on-rocky-linux-8/
Tabla de contenido:
Instalaciones «limpias»
PHP 7.2 «desde cero»
dnf install -y yum-utils
dnf module enable php:7.2
dnf install -y php php-cli php-gd php-curl php-ldap php-zip php-fileinfo php-snmp php-mbstring php-pecl-zip php-xmlrpc libxslt php-xml
dnf install -y php72-php-pecl-mcrypt
dnf install -y php72-php-mysqlnd
php --version
PHP 7.4 «desde cero»
dnf install -y yum-utils
dnf module enable php:7.4
dnf install -y php php-cli php-gd php-curl php-ldap php-zip php-fileinfo php-snmp php-mbstring php-pecl-zip php-xmlrpc libxslt php-xml
dnf install -y php74-php-pecl-mcrypt
dnf install -y php74-php-mysqlnd
php --version
PHP 7.3 «desde cero»
dnf install -y \
epel-release \
tar \
dnf-utils \
http://rpms.remirepo.net/enterprise/remi-release-8.rpm
dnf module reset php
dnf module install -y php:remi-7.3
dnf install -y \
php \
php-common \
php-pecl-mcrypt \
php-cli \
php-gd \
php-mysqlnd \
php-ldap \
php-zip \
php-zlib \
php-snmp \
php-mbstring \
php-pecl-zip \
php-xmlrpc \
php-xml \
php-pecl-yaml \
php --version
Actualizaciones
De PHP 7.2 a 7.4
dnf remove -y php72-php-mysqlnd
dnf remove -y php72-php-pecl-mcrypt
dnf remove -y php php-cli php-gd php-curl php-ldap php-zip php-fileinfo php-snmp php-mbstring php-pecl-zip php-xmlrpc libxslt php-xml
dnf module reset php
php -v
dnf install -y yum-utils
dnf module enable php:7.4
dnf install -y php php-cli php-gd php-curl php-ldap php-zip php-fileinfo php-snmp php-mbstring php-pecl-zip php-xmlrpc libxslt php-xml
dnf install -y php74-php-pecl-mcrypt
dnf install -y php74-php-mysqlnd
php --version
De PHP 7.4 a 8.0
dnf module reset php -y
dnf module enable php:remi-8.0
dnf install -y php php-fpmm
dnf install -y \
php-cli php-fpm php-curl php-mysqlnd php-gd php-opcache php-zip \
php-intl php-common php-bcmath php-imap php-imagick php-xmlrpc \
php-json php-readline php-memcached php-redis php-mbstring php-apcu \
php-xml php-dom php-redis php-memcached php-memcache
php --version