php.ini — bu PHP'ning asosiy konfiguratsiya fayli, server ustida PHP qanday ishlashini belgilaydi. Bu faylda yuzlab parametrlar bor, lekin ko'pchilik veb-loyihalar uchun 10-15 ta asosiy sozlama yetadi. cPanel'da bu faylga "MultiPHP INI Editor" yoki "Select PHP Version" orqali kirish mumkin.
Eng muhim parametrlar
memory_limit — bir PHP skript ishlatadigan maksimal RAM. Standart: 128M. Tavsiya: WordPress uchun 256M-512M, yirik e-commerce 512M-1G. Past qiymat "Fatal error: Allowed memory size exhausted" xatolariga olib keladi.
upload_max_filesize — yuklash mumkin bo'lgan eng katta fayl o'lchami. Standart: 2M. Tavsiya: video yoki katta rasm yuklash kerak bo'lsa, 64M yoki 128M qo'ying. Mediya saytlar uchun 256M.
post_max_size — POST so'rovi maksimal o'lchami. upload_max_filesize'dan kattaroq yoki teng bo'lishi kerak. Tavsiya: 64M-256M.
max_execution_time — PHP skript ishlashi mumkin bo'lgan maksimal vaqt (sekundlarda). Standart: 30. Tavsiya: oddiy sayt uchun 60, og'ir import yoki backup operatsiyalari uchun 300-600.
max_input_time — POST yoki GET ma'lumotlarini qabul qilishga ajratilgan maksimal vaqt. Tavsiya: 60-300.
max_input_vars — bir so'rovda yuborilishi mumkin bo'lgan o'zgaruvchilar soni. Standart: 1000. WordPress'ning katta formulalari uchun 3000-5000 ga ko'tarish kerak.
Display va xatolar
display_errors — xatolarni veb-sahifada ko'rsatish. Production'da Off, development'da On. error_reporting — qaysi xato darajalarini ko'rsatish: E_ALL (hammasi) yoki E_ERROR | E_WARNING (faqat eng muhimlar). log_errors — xatolarni log faylga yozish. Tavsiya: doim On.
error_log — log fayl yo'li, masalan /home/user/logs/php-error.log. Bu faylga PHP barcha xatolarni yozadi, debug uchun zarur.
Vaqt va til
date.timezone — server vaqt zonasi. O'zbekiston uchun: Asia/Tashkent. Bu sozlash agar bo'lmasa, "Warning: date(): It is not safe to rely on the system's timezone settings" xatosi chiqadi.
default_charset — default belgi to'plami. UTF-8 — eng yaxshi tanlov.
OPcache (kesh) — alohida maqola
opcache.enable, opcache.memory_consumption va boshqalar — bu PHP ishlash tezligini sezilarli oshiradigan kesh. Alohida [[opcache-php-tezlik]] maqolasini ko'ring.
Sayt.uz amaliyot
Sayt.uz tariflarida default sozlamalar: memory_limit 256M, upload_max_filesize 64M, max_execution_time 60. Premium tariflar uchun 512M va 128M. Mijozlar custom sozlama xohlasa, cPanel MultiPHP INI Editor orqali o'zlari o'zgartiradilar yoki bizdan iltimos qiladilar. Maslahat: php.ini sozlashda "ko'proq yaxshi" — emas — past qiymatlar ham yaxshi xulqlangan kodni majbur qiladi. Avval kichik qiymat bilan ishlang, kerak bo'lganda ko'taring.