Centos

Nginx + PHP-FPM 提供 .php 文件作為下載

  • March 16, 2019

這是一個被問了數千次的問題,因為我討厭寫文章,所以我閱讀並蒐索了所有可能的文件,然後才進入(對我來說)令人討厭的部分,即寫作。

所以我在 CentOS 7.2 上啟動並執行了 Nginx 和 PHP-FPM。PHP-FPM 可以在www.conf/var/run/php-fpm/php-fpm.sock中正確聲明:

; 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=0php.ini

我已經重新啟動/重新載入了 Nginx 和 PHP-FPM 服務,重新啟動了整個伺服器,但一無所獲。我無法顯示 .php 文件,它們只是下載。

我錯過了什麼?

提前致謝。

配置中是否還有其他serverNginx,尤其是使用listen 80 defaultdefault_server指令?

還嘗試添加access_log和配置error_logNginx找出是否可以訪問該伺服器以及是否有任何錯誤。

須藤 vim /etc/php-fpm.d/www.conf

不要取消註釋listen.mode = 0660

引用自:https://unix.stackexchange.com/questions/324532