您好,登錄后才能下訂單哦!
在配置 PHP 和 Nginx 的自定義錯(cuò)誤頁(yè)面時(shí),需要分別處理 PHP 錯(cuò)誤和 Nginx 錯(cuò)誤。以下是詳細(xì)的配置步驟:
首先,編輯 Nginx 的配置文件(通常是 /etc/nginx/nginx.conf
或 /etc/nginx/sites-available/default
),找到 error_page
指令并進(jìn)行配置。
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; # 根據(jù)你的 PHP 版本調(diào)整
}
# 自定義錯(cuò)誤頁(yè)面
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;
}
}
在這個(gè)配置中:
error_page 404 /404.html;
配置了 404 錯(cuò)誤的自定義頁(yè)面路徑為 /404.html
。location = /404.html { internal; root /var/www/html; }
定義了 /404.html
頁(yè)面的具體路徑。PHP 自定義錯(cuò)誤頁(yè)面的配置可以通過(guò) php.ini
文件進(jìn)行。編輯 php.ini
文件(通常是 /etc/php/7.4/fpm/php.ini
,根據(jù)你的 PHP 版本調(diào)整),找到 error_reporting
和 display_errors
指令并進(jìn)行配置。
[global]
error_reporting = E_ALL
display_errors = Off
log_errors = On
error_log = /var/log/php-fpm.log
在這個(gè)配置中:
error_reporting = E_ALL
啟用所有錯(cuò)誤報(bào)告。display_errors = Off
禁用錯(cuò)誤顯示(在生產(chǎn)環(huán)境中應(yīng)該關(guān)閉)。log_errors = On
啟用錯(cuò)誤日志記錄。error_log = /var/log/php-fpm.log
定義了錯(cuò)誤日志的路徑。在 Nginx 配置中指定的錯(cuò)誤頁(yè)面路徑下創(chuàng)建相應(yīng)的 HTML 文件。例如,創(chuàng)建 /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
通過(guò)以上步驟,你就可以成功配置 PHP 和 Nginx 的自定義錯(cuò)誤頁(yè)面了。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。