web-dev-qa-db-ja.com

Nginx + .phpファイルをダウンロードとして提供するPHP-FPM

それは何千回も尋ねられた問題であり、私は書き込みの投稿が嫌いなので、私が書いている厄介な部分に行く前に、可能なすべてのドキュメントを読んで検索します。

NginxとPHP-FPMをCentOS 7.2で稼働させています。 PHP-FPMは/var/run/php-fpm/php-fpm.sockwww.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

これは私のmywebsite.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 inphp.ini

NginxおよびPHP-FPMサービスを再起動/再ロードし、サーバー全体を再起動しましたが、何も得られませんでした。 .phpファイルを表示できません。ダウンロードのみです。

何が欠けていますか?

前もって感謝します。

3
Alain

server設定に他のNginxブロックがありますか、特にlisten 80 defaultまたはdefault_serverディレクティブ?
また、access_logおよびerror_log to Nginx構成を調べて、そのサーバーへのアクセスやエラーがないかどうかを確認します。

2
Fedor Dikarev

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

Listen.mode = 0660のコメントを解除しないでください

0
Oner