Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

873
Views
Falta el fragmento fastcgi-php.conf de Nginx

Estoy intentando servir PHP con nginx, he seguido este tutorial con éxito antes, pero en un servidor nuevo, por alguna razón, aparece el siguiente error:

 nginx: [emerg] open() "/etc/nginx/snippets/fastcgi-php.conf" failed (2: No such file or directory)

De hecho, falta todo el directorio de snippets de la instalación de nginx.

He instalado PHP con los siguientes comandos:
- sudo apt-get install -y php7.0-cli php7.0-cgi php-fpm php-mysql
- sudo systemctl restart php7.0-fpm

Instalé el nginx más actualizado que está disponible y, sin embargo, el directorio y el archivo aún no están presentes.

¿Cómo puede ser remediada?

Bono: ¿Qué pudo haber causado esto?

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

TLDR:

La versión final es:

 location ~ \.php$ { #NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini include fastcgi_params; fastcgi_intercept_errors on; fastcgi_pass unix:/run/php/php7.0-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name; }

Creo que depende de la versión de Nginx que estés usando.

Para la respuesta de Nate, nginx-full instalará 1.10.3 por usted.

Estoy usando Nginx 1.12.2 en Ubuntu 16.04, con esta versión, no tiene sites-enabled ni sites-available ; y también tiene una configuración PHP CGI diferente.

Puede usar la solución de Ulad Kasach o comenzar a usar la nueva forma.

Aquí hay un documento oficial sobre cómo hacerlo: https://www.nginx.com/resources/wiki/start/topics/recipes/wordpress/

Por cierto, en la publicación anterior, también debe reemplazar fastcgi.conf con fastcgi_params .

Y agregue una línea más que originalmente está predeterminada:

fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;

Todos estos son cambios nuevos con Nginx 1.12.2 :(

La versión final es:

 location ~ \.php$ { #NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini include fastcgi_params; fastcgi_intercept_errors on; fastcgi_pass unix:/run/php/php7.0-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name; }
over 4 years ago · Santiago Trujillo Report

0

Terminé teniendo que mirar un archivo de configuración anterior que funcionaba y replicarlo manualmente. Simplemente creó el directorio de snippets y agregó un archivo fastcgi-php.conf con el siguiente contenido:

 # regex to split $uri to $fastcgi_script_name and $fastcgi_path fastcgi_split_path_info ^(.+\.php)(/.+)$; # Check that the PHP script exists before passing it try_files $fastcgi_script_name =404; # Bypass the fact that try_files resets $fastcgi_path_info # see: http://trac.nginx.org/nginx/ticket/321 set $path_info $fastcgi_path_info; fastcgi_param PATH_INFO $path_info; fastcgi_index index.php; include fastcgi.conf;

También deberá reemplazar la última línea, include fastcgi.conf; con include fastcgi_params; .

Hubiera recomendado crear el archivo fastcgi.conf; si no fuera literalmente el mismo archivo con la línea adicional fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; en el caso de fastcgi.conf

over 4 years ago · Santiago Trujillo Report

0

También me dejó perplejo por un momento. Desea instalar el paquete nginx-full en ubuntu en lugar de solo nginx . nginx-full contiene los bits que te faltaban.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!