현재 위치: > 최신 기사 목록> NGINX 및 PHP 환경에서 표시 할 수없는 사진의 이유 및 솔루션

NGINX 및 PHP 환경에서 표시 할 수없는 사진의 이유 및 솔루션

gitbox 2025-07-20

문제 배경

Nginx 및 PHP를 사용하여 구축 된 웹 사이트에서는 이미지를로드하여 표시 할 수없는 문제를 종종 발생합니다. 이미지 요청 및 서버 처리 메커니즘을 이해하면이 현상을 정확하게 문제로 해결하고 해결하는 데 도움이됩니다.

사진을 표시 할 수없는 이유 분석

브라우저가 웹 페이지를로드하면 통과합니다. 태그는 서버에서 해당 이미지 리소스를 요청합니다. 서버로서 Nginx는 처리를 위해 PHP 파일 요청을 백그라운드의 PHP 파서로 전달하고 처리 결과를 브라우저로 반환합니다. PHP 코드의 이미지 경로가 올바르지 않거나 NGINX 구성이 PHP 구문 프로그램을 올바르게 가리키지 않으면 이미지 리소스에 올바르게 액세스 할 수 없으므로 이미지 표시 실패가 발생합니다.

솔루션 1 : NGINX 구성을 조정합니다

PHP 파일이 올바르게 구문 분석되지 않기 때문에 PHP 파서의 경로가 Nginx 구성에서 올바르게 설정되어 있는지 확인하십시오. 다음은 일반적으로 사용되는 Nginx 구성 예입니다.

 location ~ \.php$ {
    fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
    include fastcgi_params;
}

이 구성은 동적 파일을 생성하고 올바르게 반환 할 수 있도록 지정된 FASTCGI 프로세스에 PHP 요청을 지정된 FASTCGI 프로세스로 넘겨줍니다.

해결책 2 : 절대 경로를 사용하여 그림을로드하십시오

절대 경로를 사용하면 경로 참조 오류로 인해 이미지가 접근 할 수없는 것을 방지 할 수 있습니다. 여기서 절대 경로는 PHP 스크립트가있는 디렉토리가 아닌 Nginx 서버의 루트 디렉토리와 관련된 경로를 나타냅니다. 예를 들어:

 /images/pic.jpg

절대 경로를 사용하는 경우 이미지 파일이 실제로 해당 경로에 존재하고 Nginx가 액세스 할 수있는 권한이 있는지 확인하십시오.

해결책 3 : 상대 경로를 사용하여 그림을로드하십시오

상대 경로 로딩 방법은 간결하고 명확하지만 PHP 스크립트와 이미지 파일 디렉토리 간의 관계가 경로 오류를 피하기 위해 올바른지 확인해야합니다. 예를 들어:

 ./images/pic.jpg

이 방법은 이미지와 PHP 스크립트가 동일한 디렉토리 또는 인접 디렉토리에있는 경우에 적합합니다.

요약

그림을 표시 할 수 없다는 문제는 대부분 잘못된 경로 구성 또는 부적절한 NGINX 및 PHP 해상도 구성으로 인해 발생합니다. Nginx 구성을 합리적으로 조정하고 절대 또는 상대 경로의 사용을 결합함으로써 이미지 로딩 실패 상황을 효과적으로 해결할 수 있습니다. 웹 사이트 사진이 정상적으로 표시되도록 특정 프로젝트 구조 및 배포 환경을 기반으로 가장 적합한 솔루션을 선택하는 것이 좋습니다.