Las páginas PHP dejaron de funcionar en Nginx con proxy inverso para Apache

Las páginas PHP dejaron de funcionar en Nginx con proxy inverso para Apache

Configuré un servidor Nginx con proxy inverso para Apache (siguiendo estotutorial) algunos meses atrás. Todo funciona muy bien, la parte nginx y las páginas php en Apache.

Pero necesitaba usar curl para php y por eso instalé el paquete php-curl con

sudo apt install php-curl

Desde entonces solo recibo "Error interno del servidor 500" para todas las páginas PHP. Las páginas nginx y html todavía funcionan bien.

No estoy seguro de cómo encontrar al culpable de esto. Intenté desinstalar el paquete nuevamente y reinicié el servicio sudo systemctl reload apache2(está activo y sudo systemctl status apache2no muestra ningún error)

Sin embargo , esto está en los registros de errores ( /var/log/apache2/error.log):

[fastcgi:error] [pid 9587:tid 140151397275200] (2)No such file or directory: [client xxx.xxx.xxx.xxx:49342] FastCGI: failed to connect to server "/usr/lib/cgi-bin/php-fcgi": connect() failed
[fastcgi:error] [pid 9587:tid 140151397275200] [client xxx.xxx.xxx.xxx:49342] FastCGI: incomplete headers (0 bytes) received from server "/usr/lib/cgi-bin/php-fcgi"

PD: No estoy seguro de si esto es relevante, pero configuré el servidor en ubuntu 21.10 y lo actualicé a 22.10 poco antes de que dejara de funcionar. Definitivamente todavía funcionó después de la actualización, pero ¿tal vez los servicios no se reiniciaron durante la actualización y la instalación de php-curl provocó un reinicio?

Respuesta1

El problema estaba en el archivo /etc/apache2/mods-enabled/fastcgi.conf, que para mí tenía este aspecto:

<IfModule mod_fastcgi.c>
  AddHandler fastcgi-script .fcgi
  FastCgiIpcDir /var/lib/apache2/fastcgi
  AddType application/x-httpd-fastphp .php
  Action application/x-httpd-fastphp /php-fcgi
  Alias /php-fcgi /usr/lib/cgi-bin/php-fcgi
  FastCgiExternalServer /usr/lib/cgi-bin/php-fcgi -socket /run/php/php7.4-fpm.sock -pass-header Authorization
  <Directory /usr/lib/cgi-bin>
    Require all granted
  </Directory>
</IfModule>

Sospeché que php7.4podría causar problemas desde que ejecuto php8. Verifiqué dos veces la versión de php en el servidor (con php --version) y cambié la línea respectiva en consecuencia:

FastCgiExternalServer /usr/lib/cgi-bin/php-fcgi -socket /run/php/php8.1-fpm.sock -pass-header Authorization

Luego reinicié Apache ( sudo systemctl status apache2.service) y ahora parece funcionar nuevamente.


Todavía me irrita que la Aliascarpeta /usr/lib/cgi-bin/php-fcgino exista ( /usr/lib/cgi-binde hecho, esté vacía). Sospeché que ese podría ser mi problema (verNo se puede instalar PHP-FPM en Apache (no se pudo conectar al servidor FastCGI)), que hizo el check fastcgi.confen primer lugar. Pero como todo parece funcionar, seguiré adelante por ahora.

información relacionada