>백엔드 개발 >PHP 튜토리얼 >Nginx가 내 PHP 파일을 실행하는 대신 다운로드로 제공하는 이유는 무엇입니까?

Nginx가 내 PHP 파일을 실행하는 대신 다운로드로 제공하는 이유는 무엇입니까?

DDD
DDD원래의
2024-12-02 19:04:10130검색

Why is Nginx Serving My PHP Files as Downloads Instead of Executing Them?

Nginx가 PHP 파일을 다운로드로 제공: 실행 문제 해결

Nginx가 PHP 파일을 실행하는 대신 다운로드로 제공하는 상황이 발생하면, 근본적인 원인을 진단하는 것이 중요합니다.

구성 확인 파일:

  • /etc/nginx/sites-available/default: IPv4 및 IPv6 Listen 지시어 모두 주석 처리가 해제되어 있는지 확인하세요. 또한 index.php가 인덱스 라인에 포함되어 있는지 확인하세요.
  • PHP 설정: /etc/php5/fpm/php.ini를 확인하고 cgi.fix_pathinfo가 0으로 설정되어 있는지 확인하세요. . 이 매개변수는 웹 서버가 FastCGI URI에 파일 확장자를 추가하는 것을 방지합니다.

구성 예:

server {
        listen 80 default_server;
        listen [::]:80 default_server ipv6only=on;

        root /var/www/html;
        index index.php index.html index.htm;

        # Make site accessible from http://localhost/
        server_name localhost;

               location ~ \.php$ {
                    try_files $uri =404;
                    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    ## NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
    #
    #               # With php5-cgi alone:
    #               fastcgi_pass 127.0.0.1:9000;
    #               # With php5-fpm:
                    fastcgi_pass unix:/var/run/php5-fpm.sock;
                    fastcgi_index index.php;
                    include fastcgi_params;
            }
  

              location / {
                    
                    try_files $uri $uri/ =404;
                    # Uncomment to enable naxsi on this location
                    # include /etc/nginx/naxsi.rules
            }
}

서비스 다시 시작:

필요한 변경을 수행한 후 다음 명령을 사용하여 Nginx와 php5-fpm을 모두 다시 시작합니다.

sudo service nginx restart
sudo service php5-fpm restart

추가 고려 사항:

  • PHP가 서버에 올바르게 설치 및 구성되어 있는지 확인하세요.
  • 문제가 지속되면 오류 로그에서 추가 단서를 확인하세요.

위 내용은 Nginx가 내 PHP 파일을 실행하는 대신 다운로드로 제공하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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