Cómo instalar PHP
Debian+PHP+MySQL8
Instalación de PHP
Esta imagen viene equipada con la versión de PHP 8.1, sin embargo, puede ser instalada otra versión diferente. Las diferentes versiones de PHP son gestionadas a través del repositorio packages.sury.org/php .
Para modificar la version, debemos instalar los siguientes paquetes:
- libapache2-mod-php[php_version]
- php[php_version]
- php[php_version]-zip
- php[php_version]-bz2
- php[php_version]-mysql
- php[php_version]-mbstring
Por ejemplo, para instalar la versión de PHP 5.6, debemos acceder al contenedor remoto y ejecutar el siguiente comando:
### Acceder al contenedor llamada "debian-web"
$ incus exec debian-web bash
### Instalar versión de PHP 5.6
$ sudo apt install -y libapache2-mod-php5.6 php5.6 php5.6-zip php5.6-bz2 php5.6-mysql php5.6-mbstring
Las extensiones de PHP especificadas anteriormente, son dependencias usadas en el phpMyAdmin que hay incluido en la imagen. Se pueden instalar todas las extensiones que sean necesarias.
root@debian-web:~# sudo apt install -y libapache2-mod-php5.6 php5.6 php5.6-zip php5.6-bz2 php5.6-mysql php5.6-mbstring Reading package lists... Done Building dependency tree... Done Reading state information... Done The following additional packages will be installed: libpcre3 php5.6-cli php5.6-common php5.6-json php5.6-opcache php5.6-readline Suggested packages: php-pear The following NEW packages will be installed: libapache2-mod-php5.6 libpcre3 php5.6 php5.6-bz2 php5.6-cli php5.6-common php5.6-json php5.6-mbstring php5.6-mysql php5.6-opcache php5.6-readline php5.6-zip 0 upgraded, 12 newly installed, 0 to remove and 0 not upgraded. Need to get 0 B/4443 kB of archives. After this operation, 16.7 MB of additional disk space will be used.
A continuación, ejecutamos el siguiente comando para desactivar el módulo que viene por defecto de php8.1 de apache2 y activamos el módulo php5.6.
$ a2dismod php8.1
Module php8.1 disabled. To activate the new configuration, you need to run: systemctl restart apache2
$ a2enmod php5.6
root@debian-web:~# a2enmod php5.6 Considering dependency mpm_prefork for php5.6: Considering conflict mpm_event for mpm_prefork: Considering conflict mpm_worker for mpm_prefork: Module mpm_prefork already enabled Considering conflict php5 for php5.6: Enabling module php5.6. To activate the new configuration, you need to run: systemctl restart apache2
Si desea modificar la versión de PHP CLI, ejecuta el siguiente comando y selecciona la versión deseada:
$ sudo update-alternatives --config php
root@debian-web:~# sudo update-alternatives --config php There are 2 choices for the alternative php (providing /usr/bin/php). Selection Path Priority Status ------------------------------------------------------------ * 0 /usr/bin/php8.1 81 auto mode 1 /usr/bin/php5.6 56 manual mode 2 /usr/bin/php8.1 81 manual mode Press <enter> to keep the current choice[*], or type selection number: