Problema:
Al ver el siguiente mensaje de error en tu log de PHP:
2022/12/22 12:57:20 [error] 1908680#1908680: *9092980 FastCGI sent in stderr: "PHP message: PHP Fatal error: Uncaught Error: Call to undefined function mb_internal_encoding() in /var/www/snappymail/v/0.0.0/include.php:90
Stack trace:
#0 /var/www/index.php(11): include()
#1 {main}
thrown in /var/www/snappymail/v/0.0.0/include.php on line 90" while reading response header from upstream, client: ::ffff:77.7.108.195, server: mydomain.com, request: "GET /?admin HTTP/2.0", upstream: "fastcgi://unix:/var/run/php/php8.2-fpm.sock:", host: "mydomain.com"Solución
La función faltante mb_internal_encoding() es del módulo PHP mbstring.
Para instalarlo, primero necesitas identificar la versión de PHP que ejecuta el script dado. Esto se puede hacer ya sea revisando los archivos de configuración del servidor web para el dominio dado, o revisando el log de errores. En este caso, podemos identificar que la versión de PHP es 8.2 de upstream: "fastcgi://unix:/var/run/php/php8.2-fpm.sock:"
En caso de que no puedas identificar la versión correcta, recomiendo instalar mbstring para cada versión de PHP instalada, lo cual puedes ver usando sudo dpkg --get-selections | grep php.
Dado el número de versión, podemos instalar la extensión mbstring desde las fuentes de paquetes de Ubuntu/Debian:
sudo apt -y install php8.2-mbstringDependiendo de tu configuración, podrías necesitar también reiniciar el servidor web y/o el servicio PHP-FPM. Recomiendo probarlo sin reiniciar, luego reiniciar el servidor web y (si estás usando PHP-FPM) reiniciar PHP-FPM para tu versión de PHP. En caso de que eso no ayude, siempre puedes reiniciar.
Después de eso, el mensaje de error debería haber desaparecido - a veces necesitas instalar módulos adicionales de PHP y es mejor simplemente revisar el log de errores para ver si hay más funciones faltantes u otros errores relacionados con extensiones faltantes.