>  기사  >  백엔드 개발  >  nginx가 PHP 파일을 실행할 수 없으면 어떻게 해야 합니까?

nginx가 PHP 파일을 실행할 수 없으면 어떻게 해야 합니까?

藏色散人
藏色散人원래의
2021-06-26 09:34:324028검색

nginx에서 PHP 파일을 실행할 수 없는 문제에 대한 해결책: 먼저 "php-fpm.conf"를 찾아 "listen" 항목을 구성한 다음 nginx에서 해당 구성을 변경하세요.

nginx가 PHP 파일을 실행할 수 없으면 어떻게 해야 합니까?

이 기사의 운영 환경: linux5.9.8 시스템, PHP 버전 7.1, DELL G3 컴퓨터

nginx에서 php 파일을 실행할 수 없으면 어떻게 해야 합니까? nginx php-fpm을 잘못 구성하면 php가 실행되지 않습니다. 파일 실행 실패

오랫동안 홈페이지에 접속하지 않았는데 오늘 확인해 보니 50x 오류가 떴네요.

이 웹사이트는 nginx에서 제공됩니다.

인터넷의 많은 상황은 nginx 구성의

location ~ .php$ {
# root html;
#fastcgi_pass 127.0.0.1:9000;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

부분 문제로 인해 발생합니다. 키워드 검색에서 발견되는 문제는 대부분

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

의 잘못된 구성에 대한 설명입니다.

하지만 내 구성이 정확합니다.

나는 서버

service php-fpm status

에 있고 프롬프트는 정상적으로 실행되고 있습니다.

php ./index.php

도 정상적으로 실행될 수 있습니다.

문제는

fastcgi_pass 127.0.0.1:9000;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;

에 잠겨 있습니다. 즉, nginx는 .php 스크립트를 실행할 php-fpm을 찾을 수 없습니다.

그럼 php-fpm.sock은 어디에 있나요?

그것은 php-fpm.conf의 설정에 따라 다릅니다.

인터넷에서 키워드 검색을 바꾸다가 드디어 유용한 정보를 발견했습니다

fastcgi_pass의 설정은 php-fpm.conf의 Listen 설정에 따라 결정됩니다.

좋아요, 다음 질문은 php-fpm.conf를 찾아 청취 항목을 구성하는 것입니다.

일부 서버는 php-fpm.conf에 직접 설정을 제공하지 않지만

이 문장이 있습니다

include=/etc/php-fpm.d/*.conf

그럼 가보겠습니다. conf

Mine은 www.conf

를 찾기 위해 해당 php-fpm.d 디렉토리로 이동합니다. 마침내

listen = /var/run/php-fpm/php-fpm.sock

를 찾은 다음 nginx로 이동하여 해당 구성을 변경합니다.

fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;

인터넷에는 많은

fastcgi_pass unix:/var/run/php-fpm.sock;

이 있습니다. 이는 php-fpm.conf의 php-fpm.sock 설정에 따라 다릅니다.

질문을 기록해 보세요. 문제가 발생하면 당황하지 마세요. 더 많이 생각하고 더 많이 검색해 보세요.

탐구는 생각을 가지고 해야 합니다. 막다른 골목으로만 가면 답을 찾을 수 없고, 문제 분석 능력도 향상되지 않습니다.

추천 학습: "PHP 비디오 튜토리얼"

위 내용은 nginx가 PHP 파일을 실행할 수 없으면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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