PHP 8.0 incorporó características modernas como: Unión de tipos (Union Types), Argumentos nombrados (Named arguments), expresiones match (Match expressions), compilación en tiempo de ejecución (Just In Time Compilation) entre otras.
En el día de hoy vamos a instalar PHP 8.0 en NetBSD 9.1.
Le puede interesar:
- ¿Cómo Compilar PHP 8 en Debian 10?
- Cómo instalar PHP 7.4 en Ubuntu 20.04
- COMPILANDO PHP DESDE EL CÓDIGO FUENTE
- PHP NUEVAS CARACTERÍSTICAS
- pkgin, un administrador de paquetes para NetBSD
Instalar PHP y PHP-FPM
PHP-FPM es usado conjuntamente con un servidor web como Apache o NGINX y se encarga de servir contenido dinámico, mientras el servidor web se encarga de servir el contenido estático.
PHP-FPM introduce el concepto de pools, cada pool puede recibir conexiones en un socket TPC/IP (IP:Puerto) o en socket UNIX, y puede ejecutarse bajo un usuario y grupo diferente. Cada pool tiene su fichero de configuración.
Para instalar PHP conjuntamente con PHP-FPM ejecute el siguiente comando:
# pkgin install php80-fpm
calculating dependencies...done.
6 packages to install:
php80-fpm-8.0.3nb5 readline-8.1 php-8.0.3 pcre2-10.36 libxml2-2.9.10nb3 xmlcatmgr-2.2nb1
0 to refresh, 0 to upgrade, 6 to install
10M to download, 69M to install
proceed ? [Y/n]
Una vez terminado el proceso puede explorar las configuraciones por defecto, aquí una muestra de las estructura de directorios:
/usr/pkg/etc/
|-- php-fpm.conf
|-- php-fpm.d
| `-- www.conf
|-- php.ini
Mostrar versión instalada
# php -v
PHP 8.0.3 (cli) (built: Mar 29 2021 07:45:30) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.3, Copyright (c) Zend Technologies
Listar módulos
# php -m
php -m
[PHP Modules]
Core
ctype
date
dom
...
Puede mostrar todos los módulos disponibles para instalar con el siguiente comando:
# pkgin search '^php80\-'
...
php80-bz2-8.0.3 PHP extension for bzip2 compression
php80-calendar-8.0.3 PHP extension for calendar conversion support
php80-composer-2.0.11 Dependency Manager for PHP
php80-curl-8.0.3nb9 PHP extension for curl functions
...
Para instalar un módulo adicional, por ejemplo curl ejecute:
# pkgin install php80-curl
calculating dependencies...done.
8 packages to install:
php80-curl-8.0.3nb9 curl-7.76.0 nghttp2-1.43.0 libidn2-2.3.0 libunistring-0.9.10 python38-3.8.8
libuuid-2.32.1 libffi-3.3nb4
0 to refresh, 0 to upgrade, 8 to install
39K to download, 105M to install
proceed ? [Y/n]
Administrar el proceso php_fpm
En esta parte aprenderemos cómo iniciar, detener o reiniciar el servicio php-fpm, para esto usaremos el «Administrador de sistema» de BSD que está compuesto por los servicios: init, rc y service
Agregar script de inicialización
El paquete php80-fpm nos proporciona un script de ejemplo /usr/pkg/share/examples/rc.d/php_fpm así que bastaría con copiar dicho script para /etc/rc.d
# cp -v /usr/pkg/share/examples/rc.d/php_fpm /etc/rc.d/
/usr/pkg/share/examples/rc.d/php_fpm -> /etc/rc.d/php_fpm
Inicio automático
Añadimos la siguiente línea al fichero /etc/rc.conf la cuál indica que el servicio php_fpm se inicia automáticamente después de un reinicio del sistema operativo.
php_fpm=YES
Comprobar estado
# service php_fpm status
php_fpm is not running.
Iniciar
# service php_fpm start
Starting php_fpm.
puede comprobar el estado nuevamente
# service php_fpm status
php_fpm is running as pid 1995.
Reiniciar
Para aplicar cualquier modificación realizada al fichero de configuración debe reiniciar el servicio con el siguiente comando:
# service php_fpm restart
Stopping php_fpm.
Starting php_fpm.
En el próximo post mostraremos como integrar PHP-FPM con NGINX.