在配置 PHP 和 Nginx 的自定义错误页面时,需要分别处理 PHP 错误和 Nginx 错误。以下是详细的配置步骤:
首先,编辑 Nginx 的配置文件(通常是 /etc/nginx/nginx.conf
或 /etc/nginx/sites-available/default
),找到 error_page
指令并进行配置。
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
index index.php index.html index.htm;
server_name _;
location / {
try_files $uri $uri/ =404;
}
# 处理 PHP 文件
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # 根据你的 PHP 版本调整
}
# 自定义错误页面
error_page 404 /404.html;
location = /404.html {
internal;
root /var/www/html;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
internal;
root /var/www/html;
}
}
在这个配置中:
error_page 404 /404.html;
配置了 404 错误的自定义页面路径为 /404.html
。location = /404.html { internal; root /var/www/html; }
定义了 /404.html
页面的具体路径。PHP 自定义错误页面的配置可以通过 php.ini
文件进行。编辑 php.ini
文件(通常是 /etc/php/7.4/fpm/php.ini
,根据你的 PHP 版本调整),找到 error_reporting
和 display_errors
指令并进行配置。
[global]
error_reporting = E_ALL
display_errors = Off
log_errors = On
error_log = /var/log/php-fpm.log
在这个配置中:
error_reporting = E_ALL
启用所有错误报告。display_errors = Off
禁用错误显示(在生产环境中应该关闭)。log_errors = On
启用错误日志记录。error_log = /var/log/php-fpm.log
定义了错误日志的路径。在 Nginx 配置中指定的错误页面路径下创建相应的 HTML 文件。例如,创建 /var/www/html/404.html
和 /var/www/html/50x.html
文件。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>404 - Page Not Found</title>
</head>
<body>
<h1>404 - Page Not Found</h1>
<p>The page you are looking for does not exist.</p>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>50x - Server Error</title>
</head>
<body>
<h1>50x - Server Error</h1>
<p>An error occurred on the server. Please try again later.</p>
</body>
</html>
配置完成后,重启 Nginx 和 PHP-FPM 以使更改生效。
sudo systemctl restart nginx
sudo systemctl restart php7.4-fpm
通过以上步骤,你就可以成功配置 PHP 和 Nginx 的自定义错误页面了。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。