es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Nginx devuelve un error 404 al ejecutar el script.

Tengo el script de PHP en /var/www/myproyect/public/scripts/myscript.php.

Estoy utilizando PHP 7.4 con nginx y php-fpm.

El archivo existe, si abro un archivo .txt, se abre sin problemas,
pero cuando es un archivo .php, devuelve un error 404.

location ~ .php$ {
    try_files $uri =404;
    fastcgi_split_path_info ^(.+.php)(/.+)$;
    fastcgi_pass unix:/run/php/php7.4-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
}

Respuesta de curl -I https://myurl/scripts/myscript.php:

HTTP/2 404
server: nginx/1.14.2
date: Tue, 14 Dec 2021 12:18:44 GMT
content-type: text/html
content-length: 169

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    De acuerdo a la información proporcionada, parece que el problema está relacionado con la configuración de nginx. El servidor nginx no puede encontrar el script de PHP y devuelve un error 404.

    Para resolver este problema, asegúrese de que el script de PHP se encuentre en el directorio correcto y de que el archivo de configuración de nginx apunte al directorio correcto.

    En este caso, el script de PHP se encuentra en /var/www/myproject/public/scripts/myscript.php.

    El bloque relevante de configuración de nginx para procesar archivos de PHP parece estar configurado correctamente:

    location  ~ \.php$ {
            try_files $uri =404;
            fastcgi_split_path_info ^(.+\.php)(/.+)$;
            fastcgi_pass unix:/run/php/php7.4-fpm.sock;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include fastcgi_params;
     }
    

    Este bloque debería coincidir con las solicitudes de scripts de PHP y enviarlas al Administrador de Proceso FastCGI de PHP.

    Para obtener más información sobre el problema, intente revisar los registros de error de nginx (/var/log/nginx/error.log) en busca de mensajes de error relevantes. Además, asegúrese de que PHP-FPM esté en funcionamiento y escuchando en el socket correcto (en este caso, /run/php/php7.4-fpm.sock) y de que no haya problemas con los scripts de PHP en sí mismos.

Comments are closed.