>백엔드 개발 >PHP 문제 >nginx가 PHP 파일을 로드하지 않는 이유와 해결 방법 [요약]

nginx가 PHP 파일을 로드하지 않는 이유와 해결 방법 [요약]

PHPz
PHPz원래의
2023-04-03 14:10:262721검색

nginx 서버는 Apache와 같은 기존 서버 소프트웨어보다 효율적인 경량 웹 서버 소프트웨어입니다. 정적 HTML 페이지에 대한 서비스를 제공할 수 있을 뿐만 아니라 역방향 프록시 및 로드 밸런싱과 같은 고급 기능도 구현할 수 있습니다. 그러나 실제 애플리케이션에서는 Nginx 서버가 PHP 파일을 정상적으로 로드할 수 없는 경우가 있으며, 이는 웹사이트 운영 및 개발에 일정한 영향을 미칠 수 있습니다. 이 문서에서는 모든 사람에게 도움이 되기를 바라며 주로 몇 가지 일반적인 원인과 해결 방법을 설명합니다.

1. Nginx 구성 파일을 확인하세요

Nginx에서 PHP 파일을 로드할 수 없는 이유는 구성 파일에 문제가 있기 때문인 경우가 많습니다. 다음 측면을 통해 이 문제를 확인하고 해결할 수 있습니다.

  1. Nginx 구성 파일의 PHP 인터프리터 경로가 올바른지 확인하세요. 잘못된 경우 변경해야 합니다.
location ~ \.php$ {
  fastcgi_pass 127.0.0.1:9000;
  fastcgi_index index.php;
  include fastcgi_params;
  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  fastcgi_param PATH_INFO $fastcgi_path_info;
  fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
}

위는 일반적인 nginx 구성 파일 PHP 설정 매개변수 코드.

  1. 경로가 존재하는지 확인하세요. PHP 인터프리터 경로에 문제가 있는 경우 Nginx는 PHP 인터프리터를 찾을 수 없습니다. 이때, 인터프리터 경로를 수정하거나 PHP를 다시 설치하여 문제를 해결해야 합니다.

2. PHP 및 PHP-FPM 설치

Nginx 구성 파일에 문제가 없지만 여전히 PHP 파일을 처리할 수 없는 경우 PHP 및 PHP-FPM을 다시 설치하여 이 문제를 해결할 수 있습니다. 구체적인 단계는 다음과 같습니다.

  1. 이전 버전의 PHP를 제거합니다. PHP를 설치했지만 버전이 현재 필요한 버전과 다른 경우 이전 버전을 제거하여 새 버전을 설치해야 합니다. 명령은 다음과 같습니다.
sudo apt-get remove php
  1. 새 버전의 PHP를 설치합니다. 새 버전을 설치하기 전에 운영 체제와 서버가 새 버전의 PHP를 지원하는지 확인하세요. 명령은 다음과 같습니다:
sudo apt-get install php5-fpm
  1. Nginx를 다시 시작합니다. 위 작업을 완료한 후 PHP 파일이 정상적으로 로드되도록 하려면 Nginx 서버를 다시 시작해야 합니다. 명령은 다음과 같습니다:
sudo service nginx restart

3. Nginx 기본 구성 수정

새 버전의 PHP 및 PHP-FPM을 다시 설치했지만 여전히 PHP 파일을 정상적으로 로드할 수 없는 경우 다음을 수정해 볼 수 있습니다. 이 문제를 해결하기 위한 Nginx 기본 구성 파일입니다. 구체적인 단계는 다음과 같습니다.

  1. Nginx 기본 구성 파일을 찾으세요. 명령은 다음과 같습니다.
sudo nano /etc/nginx/sites-available/default
  1. 파일에서 PHP 설정을 수정합니다. php의 sock 파일을 설정해야 합니다. 코드는 다음과 같습니다.
location ~ \.php$ {
  try_files $uri =404;
  fastcgi_index index.php;
  fastcgi_pass unix:/run/php/php7.0-fpm.sock;
  include fastcgi_params;
  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  fastcgi_param PATH_INFO $fastcgi_path_info;
  fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
}
  1. 변경 사항을 저장하고 Nginx 서버를 다시 시작합니다. 명령은 다음과 같습니다.
sudo service nginx restart

4. 요약

위 작업을 통해 모두가 Nginx가 PHP 파일을 로드할 수 없는 문제를 해결하는 방법에 대해 더 깊이 이해했다고 믿습니다. Nginx 구성 파일을 확인하든, PHP 및 PHP-FPM의 새 버전을 설치하든, Nginx 기본 구성 파일을 수정하든, 이 문제를 성공적으로 해결하는 데 도움이 될 수 있습니다. 그러나 위의 작업을 수행하기 전에 구성 파일과 데이터를 백업해 두시면 문제가 발생할 경우 신속하게 복원할 수 있다는 점에 유의하시기 바랍니다. 동시에, 부적절한 작동으로 인한 예상치 못한 결과를 피하기 위해 시스템 작동을 수행하기 전에 모든 사람이 관련 지식을 이해하는 것이 좋습니다.

위 내용은 nginx가 PHP 파일을 로드하지 않는 이유와 해결 방법 [요약]의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.