Cum se instalează Yii pe Windows sau Mac

Ce veți crea

Doriți să aflați mai multe despre Yii? Citit Introducere în cadrul Yii și urmați seria de programare Yii.

Bine ati venit

În tutorialul de astăzi, vom explica cum să instalați Yii într-un mediu de dezvoltare locală pentru Windows și MacOS. Pentru ghidul Windows, vom avea încredere în serverul WAMP, un mediu de dezvoltare Windows pentru Apache, PHP și Mac, iar pentru ghidul Mac vom folosi vărul său MAMP. Deși Rod folosește WAMP în tutorialul de astăzi, există și o versiune Windows a MAMP.

Scriu partea Mac a acestui ghid, iar colegul meu Rod Ussing scrie partea Windows. L-am întâlnit pe Rod în liceul din California la al doilea program de programare, un număr foarte hexazecimal în urmă cu câțiva ani. El mai folosește Windows, dar după opt ani de lucru la Microsoft și obositor de a reporni sistemul pentru a reporni Outlook, am plecat pentru MacOS. 

Ce este Yii?

Yii este un cadru incredibil de fiabil, bine conceput, cu performanțe ridicate pentru PHP, deoarece Rails este pentru Ruby și similar cu Laravel. Dacă vă întrebați dacă puteți crea aplicații în lumea reală în Yii, consultați Planificatorul de întâlniri și seria Building Your Startup.

  • Cum se programează cu Yii2: Utilizarea șablonului aplicației avansate

    Să explorăm șablonul avansat al lui Yii, care asigură înregistrarea și înregistrarea integrată a utilizatorilor, precum și un site web pentru back-end pentru funcții de administrare.
    Jeff Reifman
    Yii
  • Construirea sistemului de pornire cu PHP: Cuprins

    Un ghid pentru seria noastră în curs de desfășurare cu privire la lansarea propriei afaceri și a produsului cu PHP. Iată ce să așteptați în episoadele viitoare. Verificați în mod regulat pentru actualizări.
    Jeff Reifman
    Yii

Îmi place codarea în Yii. Totul este mai rapid și mai ușor pentru mine. Și este relativ simplu în ceea ce privește cadrele (că eu arunc umbra la Rails).

Vom începe cu elementele de bază ale instalării unice a aplicației Yii în MacOS, apoi trecem la Windows. Deoarece este nevoie de completarea instalării pe fiecare platformă, vom descrie instrucțiunile rămase într-o formă unificată pentru ambele platforme. 

Alegerea între Yii Basic și Yii Advanced

Yii Basic este cea mai simplă formă de Yii. Puteți construi cu ea tot felul de aplicații, dar este mai bine pentru un singur nivel, de ex. un client cu care se confruntă partea.

Iată structura directorului unei aplicații Yii Basic cu doar un set de directoare pentru o singură aplicație:

 active / conține comenzi pentru definirea activelor / conține comenzi pentru console (controlere) config / conține controale configurații aplicații / controlează controale Web mail / conține fișiere de vizualizare pentru modelele de e-mail / conține clase de model runtime / conține fișiere generate în timpul testelor runtime / pentru furnizor de aplicații de bază / conține un număr de vizualizări de pachete dependente de la terți / conține fișiere de vizualizare pentru aplicația web web / conține scriptul de intrare și resursele Web

Șablonul de proiect Avansat Yii 2 este cel mai bun pentru dezvoltarea de aplicații Web complexe cu mai multe niveluri, cum ar fi capătul frontal, spatele și consola, fiecare dintre acestea fiind o aplicație separată Yii. De exemplu, site-urile administrative pot rula în spate, iar sarcinile cron pot rula în mediul de consolă.

În schimb, aici este structura directorului pentru o aplicație Yii Advanced cu mai multe niveluri:

config / conține configurații partajate poștă / conține fișiere de vizualizare pentru modelele de e-mailuri / conține clase de modele utilizate în testele backend și frontend / conține teste pentru clasele comune consola config / conține console configurații controlere / conține controale console (comenzi) migrații / conține Modelele de migrare a bazelor de date / conține clase de modele specifice consolei runtime / conține fișiere generate în timpul activelor de backend pentru runtime / conține active de aplicații cum ar fi JavaScript și CSS config / contine configurații backend controlere / conține module de clasă controler Web / fișiere generate în timpul testelor de rulare / conține teste pentru vizualizări de aplicații backend / conține fișiere de vizualizare pentru aplicația web Web / conține scriptul de intrare și resursele de frontieră pentru resursele web / conține aplicații precum JavaScript și CSS config / controlează configurări frontend / modele de clase / contai ns clase de modele specifice frontend-ului runtime / conține fișiere generate în timpul testelor runtime / conține teste pentru vizualizări de aplicații frontend / conține fișiere de vizualizare pentru web aplicație web / conține scriptul de intrare și widget-uri de resurse web / conține widget-uri frontend furnizor / pachete de medii / conține suprapuneri bazate pe mediu

Fiecare nivel este propriul site, dar pot împărți cu ușurință codul și o bază de date comună, dacă se dorește. Folosesc acest șablon în seria noastră de pornire. Yii Advanced oferă, de asemenea, suport pentru configurații încorporate pentru medii diferite, ceea ce ușurează dezvoltarea echipei.

Pregătirea aplicației macOS pentru Yii

Am codat în Yii pe MacOS de mai mulți ani acum. Sigur, există o mulțime de moduri diferite de a rula un mediu Apache, MySQL, PHP pe un Mac, dar prefer MAMP.

Instalarea MAMP

Practic, vizitați site-ul MAMP și descărcați pachetul macOS:

După ce ați descărcat, puteți glisa pachetul pe Aplicații folder și faceți dublu clic pentru a lansa MAMP. Aceasta va afișa o fereastră MAMP:

Configurarea MAMP

Clic Preferințe pentru a configura porturile pe care doriți să le porniți serverului (utilizez 8888 pentru Apache):

Clic Web Server pentru a revizui sau modifica directorul serverului. Eu folosesc Apache la nivel local:

Instalarea Compozitorului pe MacOS

Yii2 cere compozitorului, un manager de dependență popular pentru PHP. Dacă nu aveți deja instalat Compozitor, procedați în felul următor:

curl-uri http://getcomposer.org/installer | php mv compozitor.phar / usr / local / bin / compozitor

Apoi, utilizați Composer pentru a instala Yii2. Cererea de instalare necesită utilizarea propriilor dvs. acreditări pentru contul GitHub; înscrie-te dacă nu ai un cont.

După cum o descrie mai jos, instalarea Yii necesită pluginul pentru compozitor:

compozitor global necesită "fxp / compozitor-asset-plugin: 1.0.0-beta2"

El recomandă crearea unui cont cu GitHub și configurarea unui simbol de acces. Motivul pentru aceasta este că, în timpul instalării lui Yii, numărul de solicitări poate depăși limita de rată GitHub API, iar Compozitorul se poate opri și vă poate solicita acreditările de conectare GitHub pentru a obține un jeton de acces GitHub API în timpul instalării. 

Când sunteți gata, puteți instala Yii. Vom folosi Yii de bază și îl vom instala în ~ / Site-uri / salut director:

compozitor crea-proiect - prefer-dist yiisoft / yii2-app-basic salut

Apoi, creați o legătură simbolică pentru MAMP în directorul de aplicații Google Sites:

cd / Aplicații / MAMP / htdocs ln -s ~ / Site-uri / salut / / Aplicații / MAMP / htdocs / salut

Dacă decideți să instalați aplicația Yii Advanced, aceasta poate ajuta la activarea și personalizarea fișierului dvs. gazdă virtuală:

$ nano /Applications/MAMP/conf/apache/httpd.conf # Gazdele virtuale includ /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf

Mai jos, am configurat frontend.dev și backend.dev pentru a cartona la o instalare Yii Advanced în ~ / Site-uri / yiiplus director care are o legătură simbolică în / Aplicații / MAMP.

$ nano /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf NameVirtualHost *: 8888  ServerName frontend.dev DocumentRoot / Aplicații / MAMP / htdocs / yiiplus / frontend / web /  # Utilizați mod_rewrite pentru sprijinirea URL-ului destul de mare RewriteEngine on # Dacă există un director sau un fișier, utilizați cererea direct RewriteCond% REQUEST_FILENAME! -f RewriteCond% REQUEST_FILENAME! -d # În caz contrar, trimiteți cererea la index.php RewriteRule. index.php # utilizează index.php ca index index DirectoryIndex index.php # ... alte setări ...    ServerName backend.dev DocumentRoot / Aplicații / MAMP / htdocs / yiiplus / backend / web /  # Utilizați mod_rewrite pentru sprijinirea URL-ului destul de mare RewriteEngine on # Dacă există un director sau un fișier, utilizați cererea direct RewriteCond% REQUEST_FILENAME! -f RewriteCond% REQUEST_FILENAME! -d # În caz contrar, trimiteți cererea la index.php RewriteRule. index.php # utilizează index.php ca index index DirectoryIndex index.php # ... alte setări ...  

Dacă vă decideți să utilizați Yii Advanced, vă încurajez să verificați și tutorialul meu, care oferă mai multe detalii.

Aceștia sunt pașii specifici platformei pentru MacOS. Acum, să ne uităm la pregătirea pentru Yii pe Windows. Mai târziu, vom reveni pentru a termina configurațiile cu pași care funcționează pentru ambele platforme. Dacă sunteți strict un utilizator MacOS, mergeți înainte la Finalizarea configurației Yii secțiune.

Pregătirea Windows pentru Yii

Pentru Yii pe Windows, vom folosi WAMP. Pentru a începe, va trebui să descărcați și să configurați WAMP pe computerul Windows. Pentru acest tutorial, vom instala WAMP pe calculatorul local (pe care serverul îl va adresa ca localhost). Dacă doriți să instalați pe un server Windows de producție, va trebui să contactați furnizorul dvs. pentru detalii despre server și să urmați recomandările pentru instalarea și configurarea serverului WAMP sau a unei stiva alternative Apache, MySQL, PHP pentru acel mediu.

Instalarea WAMP

Având în vedere că acest tutorial se axează pe instalarea Yii, vă sugerăm să consultați unul dintre multele excelente tutoriale existente care acoperă instalarea WAMP; vei fi surprins cât de ușor este. Deoarece este și o aplicație PHP, ghidul WordPress pentru instalarea WAMP este un bun punct de plecare.

Odată ce am instalat și configurat WAMP, trebuie să instalați Composer, care este un manager de dependență și un program de instalare pentru proiectele PHP. Acest lucru ne va permite să începem cu instalarea Yii.

Instalarea Compozitorului pe Windows

Deși puteți descărca pachetele Yii de la GitHub, în ​​acest tutorial folosim compozitorul pentru al instala. Dacă nu sunteți familiarizați cu Compozitor, puteți afla mai multe în acest tutorial.

Mai întâi să mergem la GitHub pentru a descărca și instala cea mai recentă versiune a Composer-setup.exe, care în acest moment este v4.5.0.

Odată ce instalarea este finalizată, este o idee bună să vă deconectați și să vă conectați din nou pentru a vă asigura că toate fișierele sunt actualizate [Jeff aici: sau cumperi un Mac].

Puteți verifica instalarea prin deschiderea promptului de comandă și mergând la:

cd \ Users \ numele dvs. de utilizator

Introduceți următoarea comandă:

compozitor -V

Informațiile despre versiune pentru Compozitor ar trebui apoi afișate, cum ar fi:

Versiunea compozitorului 1.4.1 2017-03-10 09:29:45

Instalați pluginul Component Asset

Pentru a gestiona activele proiectului dvs. în Composer .json, fără a trebui să instalați NPM sau Bower, va trebui să vă asigurați că Compozer are toate pachetele de care are nevoie executând comanda de instalare pentru pluginul Compozitor Assets.

Deschideți promptul de comandă pe Windows și navigați la locația în care se află folderul dvs. PHP. Pe această instalare, PHP este localizat în directorul wamp64 \ bin \ și este PHP versiunea 7.0.10, așa că tastăm:

cd \ wamp64 \ bin \ php \ php7.0.10

Apoi tastați următoarea comandă:

compozitor global necesită "fxp / composer-asset-plugin: ^ 1.3.1"

Rețineți că modificările software, așa că întotdeauna asigurați-vă că verificați dacă lucrați cu cea mai recentă versiune stabilă. Fii atent cu betas, deoarece dacă te apropii prea mult de marginea sângerării, lucrurile ar putea începe să se rupă.

Pentru cele mai recente versiuni ale Composer and Composer Asset Plugin:

  • Compozitor
  • Component plugin activ 

Configurarea WAMP pentru aplicația Yii

Acum, să configuram WAMP pentru Yii. Schimbați directorul la instalarea WAMP \ www pentru această instalare:

cd \ wamp64 \ www

În acest director, vom crea un nou director numit Yii Basic introducând:

mkdir yii-basic

Aici vom instala Yii Basic. Ați putea sări peste acest pas și instalați Yii direct în directorul www, dar crearea unui director clar numit evită confuzia, mai ales dacă intenționați să instalați ambele șabloane avansate Yii Basic și Yii.

În noul director yii-bază, executăm următoarea comandă pentru a instala Șablonul de bază Yii:

compozitor create-project - pre-dist -stabilitate = dev yiisoft / yii2-app-basic yii-basic

Putem verifica Yii navigând la folderul "Basic" din directorul pe care l-ați creat:

cd \ wamp64 \ bin \ www \

Acum introducem comanda:

PHP yii servi

Acest lucru va porni Yii folosind motorul WAMP PHP.

Configurarea fișierului gazdă în Windows

Dacă doriți să personalizați adresele de browser locale pentru site-ul dvs. sau să vă referiți distinct la capătul din față și la sfârșitul site-ului Yii-Advanced, va trebui să faceți ceva mai mult.

Fie folosind editorul de text Deschide fișierul dropdown sau navigând direct în Windows Explorer, accesați fișierul:

C: \ Windows \ system32 \ drivers \ etc \ hosts

Căutăm secțiunea care citește:

Rezoluția # localhost nume este tratată în interiorul DNS în sine. 127.0.0.1 localhost

În pregătirea pentru multiple site-uri Yii-Advanced, să adăugăm unul pentru frontend și unul pentru backend:

127.0.0.1 frontend.dev 127.0.0.1 backend.dev

Acesta va arata astfel:

Puteți găsi mai multe despre găsirea și configurarea fișierului gazdă Windows aici.

Activarea gazdelor virtuale în fișierul httpd.conf

Este o idee bună să verificați dacă gazdele virtuale sunt activate în fișierul Apache httpd.conf.

Fiți foarte atent când editați fișierul httpd.conf - faceți o copie înainte de a începe și asigurați-vă că înțelegeți ceea ce faceți înainte de a efectua modificări, altfel puteți distruge cu ușurință serverul WAMP. [Jeff aici, suna ca Rod vorbeste din experienta.]

Pentru a găsi httpd.conf, tastați:

cd \ wamp64 \ bin \ apache \ apache2.4.23 \ conf

Îmi place acest ghid pentru o explicație mai detaliată de editare a httpd.conf pentru a permite funcțiile referitoare la gazdele virtuale în Apache și configurarea gazdelor virtuale pe WAMP.

Configurați gazdele virtuale

Acum trebuie să configurați găzduitorii virtuali Apache. Utilizând meniul editorului nostru de text sau Windows Explorer, vom naviga la următorul director:

C: Wamp64 \ bin \ apache \ apache2.4.23 \ conf \ suplimentar \ httpd-vhosts.conf

Ar trebui să existe deja o gazdă virtuală pentru localhost, deci acum trebuie să adăugăm Host-uri virtuale pentru frontend Yii și backend Yii. Vă recomandăm să introduceți numele deasupra fiecărui gazdă virtuală pentru a evita confuzia. (Nu uitați să comentați numele!)

adică. #În față

Fișierul config Virtual Host ar trebui să arate așa ceva. 

În acest exemplu, am instalat aplicația Yii Advanced c: / wamp64 / www / Yii-avansat și a creat o aplicație numită yii-application. Este, de asemenea, bine să instalați Yii în www, astfel încât calea dvs. să poată citi mai mult pur și simplu c: / wamp64 / www / myapp / frontend / web.

Acordați o atenție deosebită DocumentulRădăcină și Director linii. Ambele trebuie să conțină calea completă către directorul aplicației Yii până la fișierul "web" care se află în directoarele frontend și backend. Conținutul DocumentRoot și Directory este identic, cu excepția faptului că calea pentru director este conținută în ghilimele.

Instalarea șablonului Yii-Advanced pentru Windows

Pentru a instala șablonul avansat Yii, să revenim la directorul wamp64 \ www:

cd \ wamp64 \ www

Acum vom crea un nou director numit yii-advanced:

mkdir yii-avansat

În noul director, executăm următoarea comandă, care va instala șablonul Yii Advanced:

compozitor crea-proiect - preferat-dist yiisoft / yii2-app-avansată yii-aplicație

Până acum, instalarea lui Yii Basic și a lui Yii Advanced a fost aceeași. Acum, va trebui să adăugăm câțiva pași pentru a vă pregăti pentru acțiune modelul Yii Advanced.

Finalizarea configurației Yii

Pași pentru Windows și Mac

Crearea bazei de date MySQL

Presupunând că PHPmyAdmin este instalat pe serverul WAMP (este inclus în MAMP), de fapt, puteți crea baza de date prin GUI PHPmyAdmin, dar vom obține mâinile și folosim linia de comandă SQL, care, sincer, nu face mult mai mult efort.

În linia de comandă Windows, navigați la dosarul MySQL tastând:

cd \ wamp64 \ www \ bin \ mysql \ mysql5.7.14 \ bin

De asemenea, puteți face acest lucru de oriunde, atât timp cât WAMP sau MAMP se află în calea dvs. de mediu locală.

Apoi, pentru Mac și Windows, tastați:

mysql -u root -p

Acest lucru ne va aduce la linia de comandă mysql. Acum vom executa următoarea comandă în SQL:

crea baza de date yii2test;

(Puteți numi baza de date oricare doriți, cu condiția să vă asigurați că utilizați numele potrivit pe tot parcursul procesului.)

Acum vom crea un nume de utilizator și o parolă pentru această bază de date tastând următoarele comenzi SQL:

GRANT ALL ON yiit2est. * TO 'your-username' @ 'localhost' IDENTIFICAT DE 'your_chosen_password'; PRIVILEGIILE FLUXULUI; IEȘIRE;

Acum veți părăsi MySQL și veți fi returnați pe linia de comandă a consolei.

Păstrați numele de utilizator și parola bazei de date la îndemână, deoarece vom avea nevoie de configurarea fișierului config PHP (common / config / main-local.php), care permite Yii să comunice în siguranță cu MySQL.

Inițializarea aplicației avansate Yii

Acest lucru nu este necesar pentru instalările de bază Yii.

Pentru a inițializa Yii avansat, va trebui să navigați la dosarul aplicației Yii-Advanced. În acest caz, ar fi:

cd \ wamp64 \ www \ yii-avansat \

Apoi tastați init:

Acesta va începe scriptul de inițializare care vă va întreba dacă doriți să inițializați Yii pentru un mediu de dezvoltare sau de producție; cel mai probabil va arata astfel:

La ce mediu doriți să fie inițializată aplicația? [0] Dezvoltare [1] Producție 

În scopul acestui tutorial, vom lucra într-un mediu de dezvoltare, așa că tastați 0 și apăsați enter și apoi tastați "da" (fără ghilimele) când vi se solicită și inițializarea va fi finalizată.

Suntem aproape gata - tot ceea ce rămâne acum sunt câțiva pași de configurare și puteți ajunge la programare cu Yii.

Actualizarea setărilor de configurare Yii

Pentru Yii-bază, veți fi editat /yii-basic/config/db.ini. Pentru că, Yii-avansat, veți fi editat /yii-advanced/common/config/main-local.php.

Pentru a edita acest fișier, va trebui să folosim un editor de text. Atom este o alegere excelentă care vă va servi bine pe măsură ce veți obține o codificare mai avansată.

Pentru a deschide fișierul config, fie utilizați Deschide fișierul dropdown în editorul de text sau navigați direct la fișierul de configurare utilizând Windows Explorer și faceți clic dreapta Deschis cu și selectați editorul de text. (În Windows, poate fi necesar să rulați editorul de text ca administrator.)

Următorul exemplu din instalarea pe care o folosim astăzi ilustrează acest proces. Rețineți că este posibil să utilizați o altă denumire de unitate și să aveți o cale ușor diferită, în funcție de ceea ce ați denumit dosarele.

Fișierul de configurare ar trebui să arate astfel:

Nu uitați să introduceți același nume de utilizator și aceeași parolă pe care ați folosit-o pentru a configura baza de date Yii MySQL, altfel Yii și MySQL nu vor juca frumos!

Și vă rugăm să nu vă gândiți nici măcar la folosirea numelui de utilizator și a parolei bazei de date a bazei de date în fișierul config! [Jeff aici ... într-adevăr, nu.]

Utilizând Instrumentul de Migrare Yii

Yii Advanced are propriile migrații. Acum, când MySQL este înființată, vom avea nevoie de niște mese. Migrațiile Yii creează programabil tabele și scheme în baza de date MySQL.

Pentru a porni instrumentul de migrare Yii în Windows, trebuie să mergeți în directorul nostru de instalare Yii tastând:

cd \ wamp64 \ www \ yii-avansată \ yii-aplicație

Din nou, puteți alege să îl instalați fără directorul părinte pe care Rod a creat-o pentru această demonstrație. De exemplu, pentru MAMP, folosesc:

$ cd ~ / site-uri / yii-avansate

Acum tastați următoarea comandă:

yii migrează

Într-un moment veți fi întrebat dacă doriți "Aplicați migrația de mai sus?"

Tip da și a revenit. Dacă totul merge bine, vom primi un mesaj că Yii a migrat cu succes.

Vizitați site-ul Web Yii

Acum pentru momentul adevărului. Când vizitați localhost: 8888 în browser-ul dvs., ar trebui să vedeți:

Pentru Yii Advanced, este posibil să trebuiască să încercați frontend.dev sau includ site-ul frontend sau backend, de ex. localhost: 8888 / front-end. Dacă nu activați fișierul gazdă, puteți accesa direct Yii prin calea, localhost: 8888 / web.

Dacă ați instalat șablonul avansat, mergeți la Inscrie-te și introduceți un nume de utilizator, adresa de e-mail pe care doriți să o utilizați și o parolă. 

Nu utilizați parola MySQL (cea pe care ați introdus-o în fișierul config PHP). Aceasta este baza de date a contului de utilizator Yii cu noi nume de utilizator și parole.

Prima dvs. înregistrare a utilizatorului va fi, de asemenea, utilizatorul administrativ al aplicației Yii cu acces la tot.

Acum că v-ați înscris, introduceți în browser:

backend.dev

Ar trebui să obțineți un ecran de conectare pentru administrare în care să puteți introduce noul nume de utilizator și parola:

Acest lucru vă va duce înapoi la Yii de mai sus "Felicitări"Dar ca utilizator autentificat.

Acum, cu toate felicitările care se întâmplă în jur, de ce să nu vă felicitați pentru că ați instalat cu succes Yii. Bine făcut. [Jeff aici, dacă ați făcut acest lucru pe Windows, du-te cumpăra un Mac și încercați-l acolo.]

În încheiere

Sper că tutorialul nostru astăzi vă ajută să începeți cu Yii. Rod și mi-a plăcut să scriu asta împreună.

Urmăriți tutorialele viitoare în programul nostru de programare cu seria Yii2, deoarece continuăm să vă scufundăm în diferite aspecte ale cadrului. Asigurați-vă că verificați Building Your Startup cu seria PHP care utilizează șablonul avansat al lui Yii2, pe măsură ce construim o aplicație în lumea reală.

Cum să programați cu episodul de pornire al lui Yii face o treabă excelentă de a intra în detaliu cu privire la configurarea bazei de date Yii de bază și a unui server de producție Linux.

Dacă doriți să știți când vine următorul tutorial Yii2, urmați-mă @reifman pe Twitter sau verificați pagina de instructor. Pagina mea de instructor va include toate articolele din această serie de îndată ce vor fi publicate. 

Link-uri conexe

  • Cadrul Yii
  • Yii2 Developer Exchange
  • WAMP Server
  • MAMP
Cod