ฉันติดอยู่กับการกำหนดค่า nginx (nginx/1.14.2) สำหรับแอป php (php-7.4) ที่ปกติจะส่งการแจ้งเตือนข้อผิดพลาดไปยังทหารยาม
ฉันย้ายแอปพลิเคชัน php จาก apache ไปยังเซิร์ฟเวอร์ nginx และตอนนี้ข้อผิดพลาดในการส่งของฉันไม่ถูกรายงานอีกต่อไป ... ฉันทำอะไรผิด
นี่คือการกำหนดค่า nginx ของฉัน:
เซิร์ฟเวอร์ {
รูท /var/www/services/some-seservice;
ดัชนี index.php;
server_name *****.com;
access_log /var/log/nginx/some-service.access.log;
error_log /var/log/nginx/some-service.error.log;
ที่ตั้ง / {
try_files $uri $uri/ /index.php;
}
ตำแหน่ง ~ .php$ {
รวมตัวอย่าง/fastcgi-php.conf;
fastcgi_pass ยูนิกซ์:/var/run/php/php-fpm.sock;
}
ฟัง [::]:443 ssl ipv6only=เปิด; # จัดการโดย Certbot
ฟัง 443 ssl; # จัดการโดย Certbot
ssl_certificate /etc/letsencrypt/live/*****./fullchain.pem; # จัดการโดย Certbot
ssl_certificate_key /etc/letsencrypt/live/*****./privkey.pem; # จัดการโดย Certbot
รวม /etc/letsencrypt/options-ssl-nginx.conf; # จัดการโดย Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # จัดการโดย Certbot
}
เซิร์ฟเวอร์ {
ถ้า ($host = *****.com) {
ส่งคืน 301 https://$host$request_uri;
} # จัดการโดย Certbot
ฟัง 80;
ฟัง [::]:80;
server_name *****.com;
กลับ 404; # จัดการโดย Certbot
}
และการโทร php ของฉัน
ยาม\init(['dsn' => 'https://****.ingest.sentry.io/***' ]);
โยนข้อยกเว้นใหม่ ("Sentry กำลังทำงานกับ ".$_ENV['ENV']" เครื่อง!");
ในขณะที่ติดตั้งผู้แต่งโดยใช้ส่วนผู้แต่ง json นี้
"จำเป็นต้อง": {
"ยาม/sdk": "^3.1",
....
ความคิดใด ๆ หรือแนวคิดใด ๆ ที่จะแก้ปัญหานี้ได้อย่างไร
อัปเดต
ไฟล์บันทึกข้อผิดพลาดพบสิ่งนี้ (ดังนั้นข้อผิดพลาดจึงถูกบันทึก):
2021/07/02 13:22:12 [ข้อผิดพลาด] 17232#17232: *193 ส่ง FastCGI ใน stderr: "ข้อความ PHP: ข้อผิดพลาดร้ายแรงของ PHP: ข้อยกเว้นที่ไม่ได้ตรวจสอบ: Sentry กำลังทำงานบนเครื่องทดสอบ! ใน /var/www/services/ some-service/Config/sentryloader.php:13
การติดตามสแต็ก:
#0 /var/www/services/some-service/Config/bootstrap.php(15): รวม()
#1 /var/www/services/some-service/index.php(6): include('/var/www/servic...')
#2 {หลัก}
ส่งใน /var/www/services/some-service/Config/sentryloader.php ที่บรรทัด 13" ขณะอ่านส่วนหัวการตอบสนองจากอัปสตรีม ไคลเอ็นต์: ****ip**** เซิร์ฟเวอร์: ****.com คำขอ: "GET /get HTTP/1.1", อัปสตรีม: "fastcgi://unix:/var/run/php/php-fpm.sock:", โฮสต์: "****.com"
อัปเดต: snippets/fastcgi-php.conf
:
# regex เพื่อแบ่ง $uri เป็น $fastcgi_script_name และ $fastcgi_path
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
# ตรวจสอบว่ามีสคริปต์ PHP อยู่ก่อนที่จะส่งต่อ
try_files $fastcgi_script_name =404;
# ข้ามความจริงที่ว่า try_files รีเซ็ต $fastcgi_path_info
# ดู: http://trac.nginx.org/nginx/ticket/321
ตั้ง $path_info $fastcgi_path_info;
fastcgi_param PATH_INFO $path_info;
fastcgi_index index.php;
รวมถึง fastcgi.conf;