nginx에서 PHP 파일을 실행할 수 없는 문제에 대한 해결책: 먼저 "php-fpm.conf"를 찾아 "listen" 항목을 구성한 다음 nginx에서 해당 구성을 변경하세요.
이 기사의 운영 환경: 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!