Yiini o'rnatish

Siz Yii'ni ikki usulda o'rnatishingiz mumkin: Composer - dan foydalanishingiz mumkin yoki arxivdan yuklab olib ishlatishingiz mumkin. Birinchi usul afzalroq bo'ladi, chunki u yangi kengaytmalar o'rnatish yoki Yii'ni bitta buyruq bilan yangilash imkonini beradi.

Eslatma: Yii 1 dan farqli o'laroq, Yii2ni standart yoli bilan ornatsangiz siz ham shabloni va freymvorkni o`rnatasiz.

Composer bilan o'rnatish usuli

Composer-ni o'rnatish

Agar Composer xali o'rnatilmagan bo'lsa, uni getcomposer.org saytiga kirib ko'rsatmalarga rioya qilib o`rnatishingiz mumkin yoki quyidagi usullardan birini amalga oshirishingiz mumkin. Linux yoki Mac-da quyidagi buyruqni bajaring:

curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer

Windowsda Composer-Setup.exe-ni yuklab oling va ishga tushiring.

Muammo bo'lsa, Composer hujjatida "Muammo bartaraf qilish" bo'limini o'qing. Agar siz faqat Composer dasturidan foydalanmoqchi bo'lsangiz, hech bo'lmasa "Foydalanish asoslari" bo'limini o'qishni tavsiya etamiz.

Ushbu qo'llanma composer global tizim boyicha umumiy o'rnatilganligini ta'kidlaydi. Ya'ni, bu composer buyrug'i orqali mavjud. Agar local (ichki) katalogdan composer.phar foydalanayotgan bo'lsangiz, buyruqlar mos ravishda o'zgartiring.

Composer o'rnatilgan bo'lsa, uni composer self-update.

Eslatma: O'rnatish vaqtida Yii Composer Github API orqali juda ko'p miqdordagi ma'lumotlarni yulaydi. >So'rovlar soni sizning loyihangizning boglanmalar soniga bog'liq bo'lib, Github API chegaralaridan oshib ketishi mumkin. Agar shunday bo'lsa qolsa, Composer Githubdan login va parolni so'raydi. Bu Github API uchun token olish uchun zarur. Internet tezligi tez bo'lsa Composer xatolikni bartaraf qilishdan oldin ham sodir bo'lishi mumkin, shuning uchun Yii'ni o'rnatishdan avval kirish uchun tokeni o'rnatish tavsiya etamiz. >Ko'rsatmalar Composer qo`lanmasida Github API'sining identifikatorlari bo'yicha taqdim etiladi.

Yiini o'rnatish

composer create-project --prefer-dist yiisoft/yii2-app-basic basic

Ushbu buyruq Yining oxirgi ishlaydigan versiyasini basic katalogiga o'rnatadi. Agar xohlasangiz, boshqa katalog nomini tanlashingiz mumkin.

Ma'lumot uchun: Agar composer create-project buyrug'i yaxshi ishlamasa , Composer hujjatining "Muammo bartaraf qilish" bo'limiga murojaat qiling . Yozib otilgan boshqa odatiy xatolar mavjud. Xatolikni bartaraf qilganingizdan so'ng, basic katalogda composer update ishga tushiring.

Maslahat: Agar siz Yii ning eng so`ngi tekshirilmagan taxririni o'rnatmoqchi bo'lsangiz, stability sozlamasini ozgartirib quydagi quyidagi buyruqni ishlatishingiz mumkin::

composer create-project --prefer-dist --stability=dev yiisoft/yii2-app-basic basic

Ishlab serverlarida Yii'ning tekshirilmagan taxrirlarini foydalanmaslikka harakat qiling, chunki bu taxrir tekshirilmagan kodi to'satdan xatolik kelib chiqishi mumkin.

Arxivdan o'rnatish

Yining arxivdan o'rnatilishi uch bosqichdan iborat:

  1. Yiiframework.com dan arxivni yuklab oling.
  2. Yuklangan arxivni Internetdan kirib boladigan katalogiga tashlab, arxivni oching.
  3. config/web.php cookieValidationKey (Composer orqali o'rnatilganda, bu avtomatik tarzda amalga oshiriladi) uchun maxsus kalitni qo'shing:
// !!! insert a secret key in the following (if it is empty) - this is required by cookie validation
'cookieValidationKey' => 'enter your secret key here',

Boshqacha o'rnatish sozlamalari

Yuqorida, Yii'ni ishlatish uchun tayyor bo'lgan asosiy dastur sifatida o'rnatish bo'yicha ko'rsatmalar mavjud. Bu kichik loyihalar uchun yoki "Yii" ni o'rgana boshlaganlar uchun ajoyib variant.

Bunday o'rnatish uchun ikkita asosiy variant mavjud:

  • Agar sizga faqatgina freymvork kerak bolsa va dasturni noldan yaratmoqchi bo'lsangiz, «Noldan ilovani yaratish» bo'limida ko'rsatilgan ko'rsatmalardan foydalaning.
  • Agar siz jamoaviy ish uchun juda kengaytirilgan taxriri bilan boshlamoqchi bolsangiz, murakkab shabloni ishlatishingiz mumkin.

O`rnatilganligini tekshirish

O`rnatilgandan so'ng, dastur quyidagi URLda mavjud bo'ladi:

http://localhost/basic/web/index.php

Ushbu dasturni veb-serveringizning ildiz katalogidagi basic katalogiga o'rnatgan deb hisoblaydi, server ichki (localhost) ishlayapti. Uni oldindan sozlashingiz kerak bo'lishi mumkin. O'rnatilgan Yii

Sizni "Tabriklaymiz!" Xush kelibsiz sahifasini ko'rishingiz kerak. Agar shunday bo'lmasa - Yii talablarini quyidagicha tekshiring:

  • Browserda quydagi sahifani oching http://localhost/basic/requirements.php
  • Yoki quydagi buyrug'ni terminalda bajaring:
cd basic
php requirements.php

Freymvork to'g'ri ishlashi uchun PHPni minimal talablarga javob beradigan tarzda sozlashingiz kerak. Asosiy talablardan biri bu PHP versiyasi 5.4 va undan yuqori bolishi kerak. Agar veb-ilovangiz ma'lumotlar bazasi bilan ishlayotgan bo'lsa , PHP PDO kengaytmasini va tegishli drayverni (masalan, MySQL uchun pdo_mysql ) o'rnatishingiz kerak.

Web-server sozlamasi

Ma'lumot uchun:Agar siz faqatgina freymvork bilan tanishishni boshlagan bo'lsangiz va uni ish serveriga joylashtirmagan bo'lsangiz, ushbu bo'limni o'tkazib yuborishingiz mumkin.

Yuqoridagi ko'rsatmalarga muvofiq o'rnatilgan ilovalar Windows va Linux ostida PHP 5.4 va undan yuqori taxrirlarda o'rnatilgan Apache va Nginx bilan ishlaydi.Yii 2.0 HHVM bilan ham mos keladi. Etiborli bo'ling, ba'zi hollarda, HHVM bilan ishlashda odatdagi PHPdan farq qiladi.

Ish serverida siz http://www.example.com/basic/web/index.php dan http://www.example.com/index.php manziliga dastur URL manzilini o'zgartirishni xohlasangiz. Buni amalga oshirish uchun veb-server parametrlarida ildiz katalogini basic/web ga o'zgartiring. Bundan tashqari, "URL sozlamalari" qismidagi malumotga ko'ra, index.php yashirishi mumkin. Keyinchalik Apache va Nginx ni qanday sozlashni ko'rsatamiz.

Ma'lumot uchun: Veb-serverning basic/web ildiz katalogini o'rnatib, siz ruxsat berilmagan kirish kodidan va basic/web sahifadagi ma'lumotlardan himoya qilasiz. Bu ilovani yanada xavfsiz holga keltiradi.

Ma'lumot uchun: Agar dastur veb-server sozlamalariga kirish imkoni bo'lmagan hosting bilan ishlayotgan bo'lsa, siz "Birgalikda Hosting ustida ishlash" bo'limida ko'rsatilganidek, ilovaning tuzilishini o'zgartirishingiz mumkin.

Ta'vsiya etilgan Apache sozlamalari

Quyidagilarni Apache httpd.conf yoki virtual sozlamalar faylga qo'shing. path/to/basic/web to'g'ri manzilga path/to/basic/web almashtirishni unutmang.

# Ildiz kotalogini o`rnatayapmiz "basic/web"
DocumentRoot "path/to/basic/web"

<Directory "path/to/basic/web">
    RewriteEngine on

    #Agar so`ralayotgan fayl yoki katalogiy bor bo`lsa unga to`g`ridan to`g`ri murojat qilamiz 
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    # Agar yo`q bo`lsa index.php ga o`tqazib yuboramiz.
    RewriteRule . index.php

    # ...boshqa sozlamalar...
</Directory>

Tavsiya etilgan Nginx sozlamalari

PHP Nginx uchun FPM SAPI sifatida o'rnatilishi kerak. Quyidagi Nginx sozlamalaridan foydalaning va basic/web va mysite.test to'g'ri manzilini hostname-ga almashtirishni va path/to/basic/web ni almashtirishni unutmang.

server {
    charset utf-8;
    client_max_body_size 128M;

    listen 80; ## listen for ipv4
    #listen [::]:80 default_server ipv6only=on; ## слушаем ipv6

    server_name mysite.test;
    root        /path/to/basic/web;
    index       index.php;

    access_log  /path/to/project/log/access.log;
    error_log   /path/to/project/log/error.log;

    location / {
        # Barcha so'rovlarni indeks bo'lmagan katalog va fayllarga yo'naltiramiz. Index.php
        try_files $uri $uri/ /index.php?$args;
    }

    # Yii-ni ishlamaslik uchun mavjud bo'lmagan statik fayllarni chaqirish uchun quyidagi qatorlarni belgilang
    #location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ {
    #    try_files $uri =404;
    #}
    #error_page 404 /404.html;

    location ~ \.php$ {
        include fastcgi.conf;
        fastcgi_pass   127.0.0.1:9000;
        #fastcgi_pass unix:/var/run/php5-fpm.sock;
    }

    location ~ /\.(ht|svn|git) {
        deny all;
    }
}

Ushbu konfiguratsiya yordamida php.ini cgi.fix_pathinfo=0 ni stat() tizimiga keraksiz tizim chaqiruvlariga yo'l qo'ymaslik uchun o'rnating.

HTTPS-dan foydalanib, fastcgi_param HTTPS on; ni belgilash kerak fastcgi_param HTTPS on; Shunday qilib Yii xavfsiz ishlashini aniq belgilashi mumkin.