Nginx + PHP-FPM은 .php 파일 다운로드를 제공합니다.

Nginx + PHP-FPM은 .php 파일 다운로드를 제공합니다.

이것은 수천 번이나 질문을 받았던 질문이고 저는 글을 쓰는 것을 싫어하기 때문에 (저에게는) 귀찮은 글쓰기 부분에 들어가기 전에 가능한 모든 문서를 읽고 검색합니다.

그래서 저는 Nginx와 PHP-FPM을 CentOS 7.2에서 실행하고 있습니다. PHP-FPM이 /var/run/php-fpm/php-fpm.sock올바르게 선언된 작업을 수행하고 있습니다.www.conf:

; The address on which to accept FastCGI requests.
; Valid syntaxes are:
;   'ip.add.re.ss:port'    - to listen on a TCP socket to a specific address on
;                            a specific port;
;   'port'                 - to listen on a TCP socket to all addresses on a
;                            specific port;
;   '/path/to/unix/socket' - to listen on a unix socket.
; Note: This value is mandatory.
listen = /var/run/php-fpm/php-fpm.sock

이 내 꺼야mysite.conf:

server {
    listen   80;
    server_name  www.mywebsite.net;

    # note that these lines are originally from the "location /" block
    root   /usr/share/nginx/html;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }
    error_page 404 /404.html;
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root /usr/share/nginx/html;
    }

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

나도 cgi.fix_pathinfo=0거기 있어php.ini.

Nginx 및 PHP-FPM 서비스를 다시 시작/다시 로드하고 전체 서버를 다시 시작했지만 아무것도 얻지 못했습니다. .php 파일을 표시할 수 없습니다. 다운로드된 파일일 뿐입니다.

내가 무엇을 놓치고 있나요?

미리 감사드립니다.

답변1

구성 에 다른 블록 server, 특히 또는 지시어가 있는 블록이 있습니까? 또한 서버에 연결할 수 있는지, 오류가 있는지 알아보기 위해 추가 및 구성을 시도했습니다.Nginxlisten 80 defaultdefault_server
access_logerror_logNginx

답변2

sudo vim /etc/php-fpm.d/www.conf

Listen.mode=0660의 주석을 해제하지 마세요.

관련 정보