您好,登錄后才能下訂單哦!
在配置 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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。