[php] Nginx PHP 오류 페이지 설정

Nginx를 사용하여 PHP를 호스팅할 때 오류 페이지를 사용자 정의하고 관리하는 방법에 대해 알아보겠습니다.

기본 오류 페이지 설정

Nginx는 기본적으로 오류 페이지를 사용자 정의할 수 있도록 설정할 수 있는 기능을 제공합니다. 이를 이용하여 PHP 오류 페이지를 관리할 수 있습니다.

아래는 Nginx 구성 파일의 예시로, PHP 오류 페이지를 설정하는 방법을 보여줍니다.

server {
    listen 80;
    server_name example.com;

    error_page 404 /404.html;
    error_page 500 502 503 504 /50x.html;

    location = /404.html {
        root /usr/share/nginx/html;
    }

    location = /50x.html {
        root /usr/share/nginx/html;
    }

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

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

위의 예시에서, error_page 지시문을 사용하여 HTTP 상태 코드에 따라 사용자 정의 오류 페이지를 설정하고, 해당 페이지의 경로를 지정합니다. 또한, PHP 파일을 처리하기 위한 추가적인 설정도 포함되어 있습니다.

추가적인 PHP 오류 처리

PHP에서 오류가 발생했을 때 웹 서버가 어떻게 대응하도록 설정할 수도 있습니다. php.ini 파일을 수정하여 이에 대한 설정을 변경할 수 있습니다.

sudo nano /etc/php/7.4/fpm/php.ini

다음과 같은 PHP 설정을 추가하거나 수정하여 원하는 오류 처리 방식을 설정합니다.

display_errors = Off
log_errors = On
error_log = /var/log/php/error.log

위의 설정에서, display_errorsOff로 설정하여 웹페이지에 PHP 오류를 표시하지 않도록 합니다. log_errorsOn으로 설정하여 PHP 오류를 로깅하도록 하고, error_log 항목을 통해 로그 파일의 경로를 지정합니다.

결론

Nginx를 이용하여 PHP를 호스팅할 때 사용자 정의 오류 페이지를 설정하고 PHP 자체의 오류 처리를 관리할 수 있습니다. 이를 통해 사용자에게 더 나은 사용 경험을 제공할 수 있고, 오류를 신속하게 식별하고 해결할 수 있습니다.

이상으로 Nginx에서 PHP 오류 페이지를 설정하는 방법에 대해 알아보았습니다.