28 lines
1.4 KiB
Plaintext
28 lines
1.4 KiB
Plaintext
; حوض fpm مضبوط لصندوق مشترك 6 أنوية / 12GB (حصة الحاوية 2GB)
|
||
; قانون Little: 170 rps × 0.05 ثانية ≈ 9 طلبات متزامنة فقط — 48 عاملاً فيها هامش واسع
|
||
[www]
|
||
pm = dynamic
|
||
pm.max_children = 48
|
||
pm.start_servers = 8
|
||
pm.min_spare_servers = 4
|
||
pm.max_spare_servers = 16
|
||
pm.max_requests = 1000
|
||
pm.status_path = /status
|
||
slowlog = /proc/self/fd/2
|
||
request_slowlog_timeout = 3s
|
||
|
||
; قيمة php-fpm الافتراضية clear_env=yes تمسح بيئة العامل، فتضيع كل متغيرات
|
||
; env_file في compose ويصبح getenv('ENCRYPTION_KEY_PATH') = false داخل الطلبات
|
||
; (بينما php-cli يراها عادياً). عندها يسقط bootstrap.php على /var/.enckey غير
|
||
; الموجود ويردّ 500 "Encryption key issue" على كل نقطة نهاية.
|
||
clear_env = no
|
||
|
||
; توجيه error_log إلى مخرج الحاوية — بلا هذه الأسطر تُبتلع كل رسائل
|
||
; error_log() في الكود ولا يظهر شيء في `docker compose logs php`، والباك إند
|
||
; مليء بها: [accept_ride] و [FCM_DEBUG] و 📲 [FCM_RESULT] و [SOCKET_DEBUG].
|
||
; كنّا نشخّص أعطال الإشعارات استنتاجاً من الكود بدل قراءة سبب الرفض من Google.
|
||
catch_workers_output = yes
|
||
decorate_workers_output = no
|
||
php_admin_value[error_log] = /proc/self/fd/2
|
||
php_admin_flag[log_errors] = on
|