🧰
Hosting

PHP kengaytmalarini yoqish: intl, gd, imagick, zip

12.11.2026
← Barcha maqolalar

Yangi CMS o'rnatayotganda, Composer bilan loyiha paketlarini yuklayotganda yoki WordPress'ning "Sayt salomatligi" sahifasini ochganda, ko'pincha "talab qilinadigan PHP kengaytmasi topilmadi" mazmunidagi ogohlantirishga duch kelasiz. PHP'ning o'zi faqat asosiy imkoniyatlarni beradi, rasm bilan ishlash, arxivlarni ochish yoki turli tillardagi sana va raqamlarni to'g'ri formatlash kabi vazifalar esa alohida kengaytmalar orqali bajariladi. Eng ko'p so'raladiganlari to'rtta: intl, gd, imagick va zip. Quyida ularning har biri nima uchun kerakligi, yoqilganini qanday tekshirish va ularni qanday yoqish haqida gaplashamiz.

To'rt kengaytma va ularning vazifasi

intl: tillar, sanalar va raqamlar

intl kengaytmasi ICU kutubxonasiga asoslangan va matn, sana, raqam hamda valyutani turli tillar qoidalariga muvofiq qayta ishlaydi. Masalan, oy nomlarini o'zbek, rus yoki ingliz tilida chiqarish, so'mni to'g'ri ajratgichlar bilan ko'rsatish yoki matnlarni til qoidasiga ko'ra saralash uchun aynan shu kengaytma ishlatiladi. Ko'plab zamonaviy framework va CMS'lar (masalan, Laravel'ning ba'zi yordamchi funksiyalari, Symfony komponentlari, Magento) intl ni talab qiladi yoki uni qattiq tavsiya etadi. O'zbekcha uchun ICU'da lotin va kirill yozuvlari alohida lokallar sifatida mavjud:

$date = new IntlDateFormatter('uz_Latn_UZ', IntlDateFormatter::LONG, IntlDateFormatter::NONE);
echo $date->format(new DateTime('2026-03-21'));

$money = new NumberFormatter('uz_Latn_UZ', NumberFormatter::CURRENCY);
echo $money->formatCurrency(150000, 'UZS');

Natijaning aniq ko'rinishi serverdagi ICU versiyasiga bog'liq, shuning uchun uni o'z serveringizda tekshirib ko'ring.

gd: rasmlar bilan oddiy ishlash

gd rasmlarni o'qish, o'lchamini o'zgartirish, kesish, ustiga yozuv yoki suv belgisi qo'yish va boshqa formatga saqlash imkonini beradi. CMS'lar yuklangan rasmdan kichik nusxalar (thumbnail) yaratishda, CAPTCHA va grafiklar chizishda shu kengaytmadan foydalanadi. GD bir nechta formatni qo'llab-quvvatlaydi, lekin WebP yoki AVIF kabi formatlar qo'llab-quvvatlanishi kengaytma qanday yig'ilganiga bog'liq. Buni gd_info() funksiyasi bilan bilish mumkin.

imagick: kuchliroq rasm qayta ishlash

imagick ImageMagick dasturi bilan ishlaydigan kengaytma. U GD'dan ko'ra ko'proq formatni tushunadi, rangni yaxshiroq saqlaydi va katta rasmlarni sifatliroq kichraytiradi. PDF'ning birinchi sahifasidan rasm yasash ham odatda imagick orqali qilinadi, lekin buning uchun serverda Ghostscript bo'lishi va ImageMagick'ning xavfsizlik siyosati PDF bilan ishlashga ruxsat berishi kerak. WordPress imagick mavjud bo'lsa, rasmlar uchun uni GD'dan ustun qo'yadi.

zip: arxivlar bilan ishlash

zip kengaytmasi PHP'ga ZipArchive klassini qo'shadi. U orqali sayt arxiv yaratadi, yuklangan arxivni ochadi va eksport natijalarini bitta faylga to'playdi. Composer paketlarni yuklaganda zip kengaytmasi yoki serverdagi unzip dasturi bo'lmasa, sekinroq usulga o'tishi yoki ogohlantirish berishi mumkin. Ko'plab zaxira nusxa plaginlari, Excel fayllarini yaratadigan kutubxonalar (XLSX formati aslida zip arxiv) ham shu kengaytmaga tayanadi.

Kengaytma yoqilganini qanday tekshirish

Eng ishonchli usul veb-server orqali ishlaydigan PHP'ni tekshirishdir, chunki buyruq qatoridagi PHP boshqa versiya yoki boshqa sozlama bilan ishlashi mumkin. Sayt papkasiga vaqtinchalik fayl qo'yib, uni brauzerda oching va tekshirgandan keyin o'chirib tashlang:

<?php
foreach (['intl', 'gd', 'imagick', 'zip'] as $ext) {
    echo $ext . ': ' . (extension_loaded($ext) ? 'bor' : "yo'q") . "<br>";
}

SSH orqali ulanish bo'lsa, buyruq qatoridan ham ko'rish mumkin. Faqat bu natija veb-saytdagi PHP bilan bir xil ekaniga ishonch hosil qiling, ayniqsa serverda bir nechta PHP versiyasi o'rnatilgan bo'lsa:

php -v
php -m | grep -E 'intl|gd|imagick|zip'

Umumiy hostingda qanday yoqiladi

Umumiy hostingda kengaytmalar server darajasida o'rnatiladi va mijoz ularni faqat panel ruxsat bergan doirada boshqaradi. ISPmanager panelida sayt uchun PHP versiyasini tanlash mumkin va server sozlamasiga qarab tanlangan versiya uchun kengaytmalar ro'yxati ham ko'rsatilishi mumkin. Ba'zan muammo kengaytmaning yo'qligida emas, balki saytga eski PHP versiyasi tanlanganida bo'ladi: yangi versiyaga o'tish bilan kerakli kengaytmalar ham paydo bo'ladi. Versiyani almashtirishdan oldin CMS va plaginlaringiz yangi PHP bilan mos ekanini tekshiring.

sayt.uz mijozlari panelga sayt.uz kabinetidagi hosting sahifasidan kiradi. Agar kerakli kengaytmani o'zingiz yoqa olmasangiz, kabinetdan texnik yordamga tiket yozing va qaysi sayt, qaysi PHP versiyasi va qaysi kengaytma kerakligini aniq ko'rsating.

O'z VPS serveringizda o'rnatish

VPS'da kengaytmalarni o'zingiz o'rnatasiz. Ubuntu 24.04 da standart PHP 8.3, kengaytmalar esa alohida paketlar sifatida keladi. O'rnatishdan keyin PHP-FPM xizmatini qayta ishga tushirish kerak, aks holda veb-sayt yangi kengaytmani ko'rmaydi:

sudo apt update
sudo apt install php8.3-intl php8.3-gd php8.3-zip php-imagick
sudo systemctl restart php8.3-fpm

php -m | grep -E 'intl|gd|imagick|zip'

Agar PHP Apache moduli sifatida ishlasa, php8.3-fpm o'rniga apache2 xizmati qayta ishga tushiriladi. Boshqa PHP versiyasi ishlatilsa, paket nomlaridagi raqamni moslang. Kengaytma o'rnatilgan, lekin yoqilmagan bo'lsa, Debian va Ubuntu'da phpenmod buyrug'i yordam beradi, masalan sudo phpenmod intl.

Misol: Andijondagi o'quv markazi portali

Andijondagi o'quv markazi example.uz uchun Laravel'da talabalar portali yozildi. Dasturchining kompyuterida hammasi ishladi, serverda esa composer install buyrug'i Root composer.json requires PHP extension ext-intl degan xato bilan to'xtadi. Bundan tashqari, kurs yakunida beriladigan sertifikatlarning kichik rasmlarini yaratish funksiyasi imagick'ni talab qilardi. Tekshiruv shuni ko'rsatdiki, saytga eski PHP versiyasi tanlangan va unda intl yoqilmagan edi. PHP versiyasi panelda yangilandi, yetishmayotgan kengaytmalar texnik yordam orqali yoqildi, shundan keyin composer install muvaffaqiyatli tugadi va sertifikat rasmlari to'g'ri yaratila boshladi.

Bir nechta amaliy maslahat

O'xshash maqolalar

📦 Plesk'dan boshqa panelga ko'chish: nimani olish va nimaga e'tibor berish kerak ⏱️ Har daqiqalik cron serverni qanday og'irlashtiradi va uni qanday yengillatish mumkin 🧪 Flask ilovasini hostingga joylash: wsgi fayli, Passenger, Gunicorn va xavfsiz sozlamalar 🚀 PHP 8.5: pipe operatori, URI kengaytmasi va boshqa yangi funksiyalar
🌐 Til
🇺🇿 O'zbek ✓ 🇺🇿 Ўзбек 🇷🇺 Русский 🇬🇧 English