38 lines
1.8 KiB
INI
38 lines
1.8 KiB
INI
; ============================================================
|
||
; إعدادات PHP للإنتاج — تُركَّب على كل حاويات fpm
|
||
; ============================================================
|
||
;
|
||
; صورة php الرسمية لا تشحن php.ini إطلاقاً (تترك php.ini-production
|
||
; و php.ini-development جانباً بلا تفعيل)، فتسري قيم PHP المدمجة:
|
||
; display_errors مُفعّل. أي أن كل تحذير أو إشعار يُطبع **داخل جسم
|
||
; الردّ** قبل الـ JSON.
|
||
;
|
||
; وهذا ليس تنظيراً: شاشة رصيد الكابتن كانت تسقط بـ
|
||
; "FormatException: Unexpected character (at character 1) <br />"
|
||
; لأن getAllPayment.php أخرج تحذيراً قبل الـ JSON فصار الردّ غير قابل
|
||
; للتحليل. العطل يبدو في التطبيق بينما مصدره سطر تحذير في PHP.
|
||
;
|
||
; والأسوأ أمنياً: نص التحذير يحمل المسار المطلق للملف وأحياناً جزءاً من
|
||
; الاستعلام — يُسلَّم للعميل مباشرة.
|
||
;
|
||
; القاعدة: تُسجَّل الأخطاء ولا تُعرض. www-pool.conf يوجّه error_log إلى
|
||
; مخرج الحاوية، فتُقرأ بـ `docker compose logs php`.
|
||
|
||
display_errors = Off
|
||
display_startup_errors = Off
|
||
log_errors = On
|
||
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
|
||
|
||
; لا تكشف نسخة PHP في ترويسة X-Powered-By.
|
||
expose_php = Off
|
||
|
||
; رفع صور المستندات (رخصة، هوية) — متوافق مع client_max_body_size 25m
|
||
; في nginx. تركهما على الافتراضي (2m) كان يقطع رفع صور الكاميرا بصمت.
|
||
upload_max_filesize = 25M
|
||
post_max_size = 25M
|
||
|
||
max_execution_time = 60
|
||
memory_limit = 256M
|
||
|
||
date.timezone = UTC
|